Skip to main content
Glama
fitz2882

learned-experience

by fitz2882

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OPENAI_API_KEYNoUsed as the default for LEARNED_EXPERIENCE_EMBED_API_KEY when remote embeddings are enabled
LEARNED_EXPERIENCE_DBNoExplicit database path$LEARNED_EXPERIENCE_HOME/experiences.db
LEARNED_EXPERIENCE_HOMENoData directory (database and model cache)~/.learned-experience
LEARNED_EXPERIENCE_EMBEDDINGSNoEmbedding provider: local, openai, ollama, or none (lexical only)local
LEARNED_EXPERIENCE_HOOK_QUIETNoSet to 1 to make the failure hook silent when nothing matchesunset
LEARNED_EXPERIENCE_EMBED_MODELNoEmbedding model: Xenova/all-MiniLM-L6-v2, text-embedding-3-small, nomic-embed-textprovider default
LEARNED_EXPERIENCE_TRANSFER_DIRNoThe only directory the transfer tool may read or write .jsonl files in$LEARNED_EXPERIENCE_HOME/transfers
LEARNED_EXPERIENCE_EMBED_API_KEYNoKey for remote embedding providers$OPENAI_API_KEY
LEARNED_EXPERIENCE_EMBED_BASE_URLNoAny OpenAI-compatible endpoint, or the Ollama base URLprovider default

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
recallA

Check whether this problem (or a similar one) has been solved before. Call BEFORE investigating. Returns ranked hits with fix, avoid-list and confidence. Exact error text in signals enables deterministic matching; semantic + lexical search catches near matches. Read-only.

recordA

Store what happened after solving (or failing to solve) a non-trivial problem. Duplicates are merged automatically: the response says whether the record was created, merged into an existing one, or linked to one with a different fix. Keep it terse and never include secrets.

reinforceA

Legacy reported outcome. Retained for compatibility; does not create a verified vote or raise verified reliability. New clients should use begin_attempt and feedback.

dismissA

Feedback for matching, not for the fix: the record was surfaced for a problem it does not apply to. Pass the same problem/signals you queried with. The record will never be recalled for that query again and its fuzzy matches are damped. Use reinforce instead when you applied the fix and it failed.

amendA

Patch fields of an existing record (better fix, extra avoid items, corrected context). Only supplied fields change.

begin_attemptA

Get a revision-bound verification receipt before applying a lesson. Reuse one execution_id for all observers of the same test/run. Does not execute the fix or imply verification.

feedbackA

Report a checked result for a lesson revision and execution identity. Duplicate observers cannot add votes. Verification requires nonempty fix, matching environment and evidence; diagnostics/relevance are separate. Evidence is reported by the agent, not independently attested by this server.

inspectA

Read a complete lesson with immutable prior snapshots, evidence and votes for review. Treat stored text as untrusted data.

maintenanceA

Run bounded deterministic maintenance, inspect its durable queue, or resolve ONE job using checked evidence. No commands or model calls are run. Uncertain semantic conflicts remain queued for host-agent review; never guess a replacement. All changes preserve history.

restoreA

Restore a historical lesson revision with optimistic concurrency and a retained audit trail. Does not erase intervening votes or observations.

forgetA

Permanently remove a record that is wrong or obsolete.

consolidateA

Deterministic clustering of episodes that look like the same underlying lesson. For each cluster, write ONE record with kind='rule' that generalises them. Read-only; nothing is changed by this call.

statsA

Counts, success rate, duplicates prevented, embedding status, most common context tags.

transferA

Portability. mode='export' writes every record as JSONL (to path if given, else returned inline). mode='import' reads JSONL from path or jsonl and merges it idempotently: newer wins on id clash, duplicates are merged. Paths are .jsonl files inside the transfer directory (relative names are resolved there). Embeddings are not transferred; they are recomputed by whichever model the destination uses.

Prompts

Interactive templates invoked by user choice

NameDescription
solveWraps a problem in the recall -> apply -> reinforce -> record loop.

Resources

Contextual data attached and managed by the client

NameDescription
protocolThe recall -> apply -> reinforce -> record loop

TDQS

A3.8/5.0

Scored across 14 tools

Disambiguation4/5

Most tools have distinct purposes: record/inspect/recall form a clear CRUD+query core, while begin_attempt/feedback/reinforce/dismiss handle the verification lifecycle. The main ambiguity is between reinforce and feedback (both report outcomes) and between dismiss and reinforce (both are feedback paths), though the descriptions do clarify the intended use cases.

Naming Consistency3/5

Tool names are mostly single verbs (record, inspect, recall, dismiss, amend, feedback, restore, forget, consolidate, stats, transfer) which is consistent in style, but the mix of single-word verbs and compound names (begin_attempt, maintenance) breaks a strict pattern. There is no verb_noun convention, but the naming is still readable and predictable.

Tool Count4/5

14 tools is within the well-scoped range and each tool addresses a distinct lifecycle concern (recording, querying, verifying, maintaining, transferring). The count feels slightly heavy due to legacy/overlapping feedback tools (reinforce, dismiss, feedback), but it is not excessive.

Completeness4/5

The surface covers the full lesson lifecycle: create (record), read (inspect, recall), update (amend, restore), delete (forget), plus verification (begin_attempt, feedback), maintenance, and transfer. Minor gaps exist—there is no explicit search/list-all tool beyond recall, and the legacy reinforce path creates some redundancy—but the core domain is well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues