The reference
A source is named by one string, onkapso build --experience (comma-separated), kapso-mcp --experience, the brief’s Experience line, load_experience(), and the kapso experience subcommands. Five forms, tried in this order:
A string that matches none of the forms, a path that does not exist, a bank whose
main lacks the founding skeleton (index.md, insights/, procedures/), a git reference that cannot be fetched, an index name with no record, or the hosted gate without its key is refused with the reason and the line that fixes it: ExperienceReferenceError for a form, ExperienceError for a source. :all on anything but mine is refused: every other form serves everything it holds. An index name is [a-z0-9][a-z0-9-]*; mine and leeroopedia are reserved.
Scope
A card’sscope is domain or a list of harness:<name> coordinates; a lesson learned under no harness is written harness:none, so none is a reserved harness name. The task’s coordinate is the loaded harness’s name, or none. Under scope harness, mine lists and opens the cards scoped domain or harness:<the coordinate> and refuses the rest by name (out of scope under harness:trading (scope [harness:lending]; mine:all serves every card you measured)); under scope all, every card. Quarantine (the decoy registry and the cold, retired and superseded states) applies under both, silently; a decoy refuses as unknown. One index per campaign: the search gates read one.
The handle
load_experience(ref) returns an ExperienceSource, and kapso.experience lists them in load order; a reference loaded again replaces its entry.
The records
Every record of a campaign carries the same list, oneExperienceRef per source with reference, kind, resolved, head, provenance and scope:
The campaign’s serving directory,
<campaign>/.kapso/serving/:
A harvest archives the directory with the campaign, and attribution starts at reading: a card cited in a lesson is credited when it was opened from your bank (
bank_get_card, with or without evidence), a copy only listed by bank_index was never read, and a card read from another source only, or opened from two, is a finding of the lesson’s evidence check; a claim of independence is refuted by any exposure, a listing included.
What the sessions get
The ideation and implementation sessions, never the judge. The bank gate reads its environment:
The bank gate’s tools:
bank_index(section=) (the whole eligible set, reliability order, no cap), bank_get_card(cards, source=), bank_get_card_with_evidence(cards, source=). An index mounts the idea and code gates (wiki_idea_search, wiki_code_search) over its record; the hosted gate mounts Leeroopedia’s server. The engine mounts them by what is loaded, and a staged intro that advertises the bank tools with the gate unmounted is an error at launch, never a silent miss.
The intro
Its own slot in the ideation and implementation prompts, after the harness’s guidance and before the process section:Experience: ...) and the status file’s sources.
The index record
<experience.indexes>/<name>/index.json, written once when the pages are indexed:
An index owns its namespace in both stores: a name removed and added again never meets its old pages. A campaign that loaded an index is served it at its id; a resume after the index was re-ingested is refused.
Config
Commands and calls
kapso experience add | list | share | update | remove (CLI); kapso build --experience, kapso-mcp --experience --harness; load_experience, add_experience, share_experience, update_experience, remove_experience and experience on the facade (Python API); the brief’s Experience line (brief format).
Related
What experience is
The sources, the one rule, how a session reads them
Use experience on a build
The flag, the brief line, Python, the records, a host session
Harness reference
The coordinate a card is scoped by
The lesson bank
What is on a card
pip install leeroo-kapso · Every page as plain text: llms.txt.