corpus_status
ChatGPTSize and search coverage of the Lexplorer corpus: decisions, passages and how many of them are embedded for semantic search, citation edges, federal laws/articles, cantonal catalog. Check embed_frontier_year before relying on semantic search for older years. Large counts are fast estimates. Reads only the Lexplorer database.
find_leading_cases
ChatGPTLeading cases on a topic and/or a statute article, ranked by relevance × citation authority. topic: free text (searched keyword+semantic over regeste/summary/considerations). law_code+article anchor via the citation graph ('OR','271'). Combine both to focus a norm on a fact pattern. When topic is given, its text is embedded by an external embedding service (EU region) for the semantic part; results come exclusively from the Lexplorer corpus.
get_article
ChatGPTText of a federal statute article, e.g. get_article('OR', '271'). abbreviation: German abbr (OR, ZGB, BGG, StGB ...) or SR number.
get_article_case_law
ChatGPTDecisions applying a federal statute article (via the citation graph), e.g. ('OR','271'). sort: citations (most-cited first = leading cases) | date_desc. Reads only the Lexplorer database.
get_article_purpose
ChatGPTRatio legis: verbatim Botschaft paragraphs for a statute article (official Materialien, navigable ids bbl_{year}_{page}#p{n}). Cite as 'Botschaft, BBl {year} {page}'. Coverage: Botschaften from 2003 onward that are available in the official publication.
get_cantonal_law
ChatGPTFetch a cantonal (or CH) act by the ID returned by search_cantonal_law or by a "CANTON:systematic_number" ref, e.g. "ZH:700.1". language: de|fr|it. Without article: returns metadata (title, canton, systematic number, version history, links to the official text) PLUS systematics_siblings — neighbouring acts filed under the same systematics category, for browsing. With article: returns the actual article TEXT (heading + content), not just a link. On the first article request for an act, its official PDF is retrieved and split into articles (§/Art. heuristic); later requests for other articles of the same act are answered from the server's cache, and those articles become searchable via search_cantonal_law(vector_query=...). Quality gate: if the PDF is a scan or no article numbering is found, no article text is returned; the pdf_scan/no_article_structure flag and the links to the official text are returned instead. A new consolidated version in force replaces the cached articles automatically. External services: the act's metadata (cached 7 days) and, on the first article request for an act, its official PDF are fetched from a public directory of Swiss legislation, and the extracted articles are embedded by an external embedding service (EU region). The extracted text is stored only in the server's own Lexplorer database (cache); nothing is written to the directory or to any user account.
get_case_brief
ChatGPTStructured one-call brief of a decision: metadata, regeste, AI summary (facts/considerations/result where available), key statute articles, citation impact (cited_by + newest citers) and structure map. Replaces ~5 separate navigation calls; cite from read_chunk, not from the brief.
get_cited_decisions
ChatGPTOutgoing citations of a decision: the earlier judgments it relies on, resolved against the Lexplorer corpus (confidence 0..1 reflects docket-resolution certainty). Reverse of get_citing_decisions.
get_citing_decisions
ChatGPT'Are there newer judgments on this?' — decisions citing this one, newest first, each with regeste preview. since_date (YYYY-MM-DD) filters to later citers; confidence 0..1 reflects docket-resolution certainty.
get_decision_articles
ChatGPTStatute articles a decision cites (reverse of get_article_case_law) — the bridge from a judgment to the applied law. Sorted by mention count.
nav_find
ChatGPTFuzzy docket lookup: '4A_123/2024', 'BGE 140 III 86'-style refs, or free substrings of docket numbers. Returns decision_ids + breadcrumbs.
nav_law_toc
ChatGPTTable of contents of one federal law: its official structure (Abteilung/Titel/Abschnitt) with article ranges and counts, in document order. law: abbreviation or SR number. Drill into a range via nav_list_articles(offset) or get_article directly.
nav_list_articles
ChatGPTList articles of one law in document order (browse like a table of contents). law: abbreviation (OR, ZGB, ...) or SR number. Returns article_id for get_article / read access, heading (Randtitel) and a short preview. Paginated via limit/offset.
nav_list_chunks
ChatGPTChunks of one section in reading order (key, parent, depth, preview). section: regeste|facts|considerations|verdict. parent_key drills into sub-Erwägungen (e.g. parent_key='2' lists 2.1, 2.2 ...).
nav_list_decisions
ChatGPTList decisions with filters: year, chamber (substring), legal_area (substring), language de|fr|it, court (code from nav_tree, e.g. bger, bge = published leading cases, bvger, zh_obergericht). Paginated via limit/offset. Reads only the Lexplorer database.
nav_list_laws
ChatGPTThe 'folders' of the statute corpus: all loaded federal laws with SR number, abbreviations (de/fr/it), title and article count. Optional substring filter on abbreviation/title/SR number.
nav_list_sections
ChatGPTThe 'folders' of one decision: sections (regeste/facts/considerations/verdict) with chunk counts, plus metadata and citation counts.
nav_tree
ChatGPTBrowse the corpus by year and court. Without year: decision counts per year plus courts, the list of all court codes (code, canton, decision count) — use a code as the court filter of the search and list tools. With year (optionally court): up to 100 decisions of that year, newest first. Reads only the Lexplorer database.
read_botschaft
ChatGPTFull text of one Botschaft paragraph (bbl_{year}_{page}#p{n}) + n neighbor paragraphs — the citation-grade source for Materialien.
read_chunk
ChatGPTFull text of one chunk plus context neighbor previews before/after (same section, reading order) and the decision's cited statute articles.
read_full_text
ChatGPTRead the full text of one decision from the Lexplorer corpus, paginated by characters (offset/limit, max 30000). Prefer read_section or read_chunk when you need a specific part.
read_section
ChatGPTRead a whole section (facts|considerations|verdict|regeste) as continuous text, paginated by characters (offset/limit, max 30000).
search_articles
ChatGPTSearch federal statute articles: keyword_query (websearch syntax) and/or vector_query (semantic), RRF-merged like search_hybrid. The vector_query text is embedded by an external embedding service (EU region); results come exclusively from the Lexplorer statute corpus. Optional filters: language, sr_number.
search_cantonal_law
ChatGPTSearch cantonal (and CH) legislation in the Lexplorer catalog (~21.6k current acts, all 26 cantons + CH): keyword (query, websearch syntax against title/abbreviation/systematics path) and/or vector_query (semantic, for concept/topic queries like "Grenzabstand beim Bauen" rather than exact titles); results are RRF-merged. With vector_query it also searches the article texts already retrieved via get_cantonal_law(..., article=...) — those hits have hit_type "article" with a text preview, everything else is hit_type "law". canton: 2-letter code (ZH, VD, TI, ...) or omit for all. language: de|fr|it (pass the canton's official language for best keyword results). systematics_prefix: restrict to a systematics path substring (e.g. "Bauen" or "Raumplanung") for browsing by subject area. include_live_fallback (default True): additionally runs a live full-text search of query inside the act texts on a public directory of Swiss legislation and merges it into the ranking; if nothing is found at all, those live results are returned as live_fallback. Set False to search the Lexplorer catalog only. External services: unless include_live_fallback is False, the query text is sent to that public legislation directory; a vector_query is embedded by an external embedding service (EU region). Directory responses are kept only in the server's own cache (7 days); nothing is written anywhere else.
search_hybrid
ChatGPTHybrid search (semantic + keyword, RRF-fused) with INDEPENDENT queries: vector_query (semantic intent, e.g. a full sentence) and keyword_query (exact terms, e.g. 'Art. 272 OR'); provide one or both. The vector_query text is embedded by an external embedding service (EU region); results come exclusively from the Lexplorer corpus. Same filters as search_semantic.
search_keyword
ChatGPTFull-text search (websearch syntax: "phrase", OR, -exclusion; terms are ANDed; automatic OR-fallback on zero hits). Returns total_matches + by_year/decision aggregation as result summary. section='header' searches the rubrum — judges (Besetzung), parties, Gegenstand. Docket-pattern queries are redirected to nav_find matches too. Database only, no external service. Filter court: code from nav_tree.
search_materialien
ChatGPTSearch Botschaften/Materialien (verbatim paragraphs of the official publication): keyword_query and/or vector_query, RRF-merged. The vector_query text is embedded by an external embedding service (EU region); results come exclusively from the Lexplorer corpus. For ratio legis, Gesetzgebungsgeschichte, Würdigungen.
search_semantic
ChatGPTSemantic (vector) search over all decision passages. The query text is embedded by an external embedding service (EU region); results come exclusively from the Lexplorer corpus. Filters: language de|fr|it, section regeste|facts|considerations|verdict, year range, chamber, legal_area, court (code from nav_tree), decision_id. Every hit is a navigation entry point (chunk_id, decision_id).
verify_citations
ChatGPTBatch-verify judgment citations before submitting an answer. For each ref ('BGE 143 IV 9', '1B_373/2016', ...): exists in corpus? canonical/published form (prefer the BGE form when it exists), decision date, cited_by. Run this over ALL citations in your draft — unverified refs must not be cited.
corpus_status
Claudefind_leading_cases
Claudeget_article
Claudeget_article_case_law
Claudeget_article_purpose
Claudeget_cantonal_law
Claudeget_case_brief
Claudeget_cited_decisions
Claudeget_citing_decisions
Claudeget_decision_articles
Claudenav_find
Claudenav_law_toc
Claudenav_list_articles
Claudenav_list_chunks
Claudenav_list_decisions
Claudenav_list_laws
Claudenav_list_sections
Claudenav_tree
Clauderead_botschaft
Clauderead_chunk
Clauderead_full_text
Clauderead_section
Claudesearch_articles
Claudesearch_cantonal_law
Claudesearch_hybrid
Claudesearch_keyword
Claudesearch_materialien
Claudesearch_semantic
Claudeverify_citations
Claude