Skip to content

Releases: cachly-dev/cachly-mcp

v0.10.111

10 Jun 18:07

Choose a tag to compare

Added

  • Org-wide ROI in cache_org_stats — calls the new GET /api/v1/orgs/:id/savings endpoint and appends org-aggregated savings: instance count, total hits, hits last 24h, total + monthly USD savings, top-5 per-instance breakdown. Falls back to Redis-only output when the endpoint is unavailable or the caller is not an org member.
  • GET /api/v1/orgs/:id/savings (Go API) — sums SavingsEstimate across all instances with org_id = :id. Caller must be an accepted org member (403 otherwise). Instances whose stats fail are skipped with a warn log.
  • src/ci-integration/brain-from-ci-gitlab.yml — GitLab CI integration: two .post jobs (on_success/on_failure, since GitLab does not expose final pipeline status to a running job), allow_failure: true, same push-ci-outcome.mjs helper.
  • .github/workflows/brain-ci-feedback.yml — dogfooding: cachly's own repo now pushes every CI outcome to the Brain (requires CACHLY_JWT + CACHLY_BRAIN_INSTANCE_ID repo secrets; skips cleanly until set).

Fixed

  • GitHub Action template — removed job-level if referencing secrets.* (the secrets context is not available in job-level if expressions; the workflow would fail to parse). PREV_STATUS now derived from run_attempt > 1 instead of previous_attempt_url.

See the CHANGELOG for full details.

v0.10.107

08 Jun 13:27

Choose a tag to compare

See CHANGELOG.md for details.
See the CHANGELOG for full details.

v0.10.104

06 Jun 14:38

Choose a tag to compare

Added

  • brain_briefing — flips the Brain from pull-only to push. Call it on file_open (with the file path), pr_open (with the PR title/body), or deploy (with a short description) and the Brain proactively surfaces up to 5 ranked warnings — confidence, severity, what to watch, and a known fix — before anything breaks. Returns an overall risk_level (low/medium/high) derived from the strongest match. Optional threshold (default 0.6) tunes signal-to-noise.
  • New API endpoint POST /api/v1/instances/:id/briefing — tokenises the event context (camelCase-aware, same tokeniser as PR scan), matches it against the instance's lessons above the confidence threshold, and ranks results.

See the CHANGELOG for full details.

v0.10.85

30 May 20:36

Choose a tag to compare

See CHANGELOG.md for details.
See the CHANGELOG for full details.

v0.10.84

30 May 20:33

Choose a tag to compare

See CHANGELOG.md for details.
See the CHANGELOG for full details.

v0.10.83

30 May 20:27

Choose a tag to compare

See CHANGELOG.md for details.
See the CHANGELOG for full details.

v0.10.82

30 May 20:06

Choose a tag to compare

See CHANGELOG.md for details.
See the CHANGELOG for full details.

v0.10.81

30 May 19:45

Choose a tag to compare

Onboarding-Bench (time-to-first-recall, measured) + external dashboard plan

Measuring the v0.10.80 starter-corpus impact. Recall-lift was already proven
(npm run bench); this release measures the other decisive metric —
time-to-first-recall — as a cold-start hit rate through the real search engine.
New: npm run bench:onboarding (src/bench/onboarding-bench.ts)

  • 16 realistic first-session queries, phrased the way a frustrated developer types
    them (NOT the lesson's topic slug), each mapped to a starter topic.
  • Two scenarios over the real keyword search engine: cold (empty Brain) vs
    seeded (starter corpus, which auto-seeds on first session when git history is empty).
  • Result: first-query hit@1 0% → 87.5%, hit@3 0% → 100%, MRR 0% → 93.8%, answered 0% → 100%.
  • Interpretation: an empty Brain returns nothing on the first query (user must do work
    • learn before any recall is possible — time-to-first-recall spans a full work cycle);
      the seeded Brain hits immediately (collapses to seconds). Documented in BENCH.md.
      5 new CI-guard tests (src/__tests__/onboarding-bench.test.ts): cold must answer
      0%; seeded must keep hit@3 ≥ 90%, hit@1 ≥ 70%, MRR ≥ 80%; seeding must lift every
      metric; every cold-start query maps to a real starter topic; the bench exercises the
      whole corpus (no flattering subset).
      New: PLAN-DASHBOARD.md — complete build spec for the external Team-Knowledge-Reuse
      dashboard (cachly-insights, a separate repo): grounded in the actual funnel events and
      cachly:stats:* keys the MCP server already emits. Covers data sources, architecture,
      TimescaleDB schema, the five dashboard views (activation funnel, TTFR with seeded-vs-cold
      cohort split, per-org reuse, brain health, marketplace), GDPR constraints, repo bootstrap
      steps, milestones, and the one cross-repo prerequisite (resolved telemetry stream in the
      cachly API).
      No new tools (still 113). Build: clean tsc. Tests: 567 passing (14 suites). Lint: 0 warnings.
      See the CHANGELOG for full details.

v0.10.80

30 May 19:37

Choose a tag to compare

Starter corpus — first recall in seconds, attacking time-to-first-recall

The onboarding gap: a brand-new Brain (fresh repo, shallow clone, no fix-commits in git history) returned nothing on the user's very first smart_recall — so time-to-first-recall never started ticking and the "aha" moment was delayed by a whole session.
New: curated starter corpus (src/starter-corpus.ts) — 16 universal, high-value, stack-agnostic engineering lessons with proven fixes: Docker layer cache, git force-push safety, flaky-test timing, ESM/CJS interop, JWT clock skew, Postgres migration locks, Redis eviction policy, K8s OOM limits, CORS preflight, dotenv precedence, unhandled rejections, SQL N+1, HTTP retry idempotency, cache stampede, secrets-in-logs, TLS cert expiry. No secrets, no PII, no project-specific paths.
New tool: brain_seed_starter(instance_id, topic_filter?, force?, dry_run?)

  • Seeds the corpus so the very first query hits. Tagged source:"starter", never overrides your own lessons, idempotent (won't double-seed without force), stamps born_at so the metric starts counting.
  • topic_filter matches by topic OR tag; dry_run previews; force re-seeds + overwrites.
    Auto-seeding on first session: when session_start auto-bootstraps from git history and that yields zero lessons (new/empty repo), the starter corpus is seeded automatically — the user's first real query returns a useful answer instead of an empty brain. The empty-brain welcome also surfaces the brain_seed_starter command explicitly.
    113 MCP tools (up from 112).
    18 new tests (src/__tests__/starter-seed.test.ts): corpus integrity (unique topics, required fields, no-PII scan), seeding to best+history keys, source:"starter" tagging, born_at stamping, idempotency, force re-seed, user-lesson protection, topic_filter by topic + tag, no-match path, dry_run, and — critically — the real keyword search engine surfacing the right seeded lesson for natural queries ("docker build slow", "pod OOMKilled", "jwt token rejected").
    Build: clean tsc. Tests: 562 passing (all 13 suites). Lint: 0 warnings.
    See the CHANGELOG for full details.

v0.10.79

30 May 19:02

Choose a tag to compare

Brain Marketplace — full shareable Brain lifecycle + stress tests

Three more MCP tools completing the share/import lifecycle:

  • brain_share_list(instance_id) — lists all Brain snapshots you've shared, with share IDs, lesson counts, visibility, and creation date. Checks the cachly API first; falls back to the local provenance log.
  • brain_unshare(instance_id, share_id) — revokes and permanently deletes a public share. Link goes dead immediately. Gracefully removes from local log when API is unreachable.
  • brain_discover(query?, topic?, limit?) — searches the cachly Brain marketplace for publicly shared Brain snapshots. Returns ranked results with lesson counts, topics, import counts, and a one-line brain_import command. Shows a "marketplace coming soon" message with alternative paths when the API isn't live yet.
    publish CLI command:
  • npx @cachly-dev/mcp-server@latest publish [--public] [--title "My Patterns"] — creates a public Brain snapshot and prints a formatted card with the share URL + import command. --public makes it discoverable in the marketplace; default is unlisted (link-only).
    112 MCP tools (up from 109).
    24 new tests covering:
  • brain_share_list: empty state, API results, local-log fallback, missing args
  • brain_unshare: success, 404, ECONNREFUSED local-log-only removal, missing args
  • brain_discover: results display, topic filter, empty state, marketplace-not-live fallback
  • Full lifecycle integration: share → list → unshare in a single test
  • team_expertise_map stress test: 50 contributors, top_n cap, sort order, empty/single contributor, 0-lesson contributor, default cap
  • brain_who_knows regression: multi-contributor ranking, inbound edge traversal
  • brain_coverage regression: high score with attribution, low score with only failures
    Build: clean tsc. Tests: 544 passing (all 12 suites). Lint: 0 warnings.
    See the CHANGELOG for full details.