l0g.fr Risk Intelligence
Read-only macro risk analysis, evidence, signals, and source-backed research from l0g.fr.
Should I use this
Quality & Safety
Findings (5)
- LOWin get_agent_manifest
- LOWin get_risk_diff
- LOWin get_freshness
- LOWin get_integrity
- LOWin get_changefeed
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"l0g": {
"url": "https://l0g.fr/api/mcp"
}
}
}Remote endpoints
https://l0g.fr/api/mcpstreamable-httphttps://l0g.fr/api/mcp/compactstreamable-httpWhat it can do
Tool inventory
Tools (21)
🟢get_agent_manifest
Renvoie le manifeste Agent Surface de l0g.fr : capacités, endpoints, règles d'usage, politiques de preuve et compteurs. Point d'entrée recommandé pour découvrir les surfaces machine sans scraper.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"endpoints": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/endpoints/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/endpoints/additionalProperties"
}
}
]
}
},
"counts": {
"$ref": "#/properties/endpoints"
},
"proofPolicy": {
"$ref": "#/properties/endpoints"
},
"server": {
"$ref": "#/properties/endpoints"
}
},
"additionalProperties": {
"$ref": "#/properties/endpoints/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_risk_indices
Indices de risque publiés par l0g.fr (tableaux de bord macro US et zone euro, Yen Carry, Energie, Dette US) à la cadence des snapshots, plus un résumé de la confluence 13F. Pas de temps réel strict, pas un conseil en investissement.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"snapshot": {
"type": [
"string",
"null"
]
},
"generated": {
"type": [
"string",
"null"
]
},
"indices": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/indices/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/indices/additionalProperties"
}
}
]
}
},
"confluence": {},
"source": {
"type": "string"
}
},
"additionalProperties": {
"$ref": "#/properties/indices/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_signal_history(key, limit)
Renvoie les observations datées des séries l0g, leur identité citable, leur version méthodologique, les changements de niveau, l'état courant des scores et la confluence 13FLOW.
Input Schema
{
"type": "object",
"properties": {
"key": {
"type": "string",
"enum": [
"us",
"eu",
"yen",
"energie",
"debt"
],
"description": "Signal optionnel : us, eu, yen, energie ou debt."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"default": 100,
"description": "Nombre maximum d'observations et d'événements retournés."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"generated": {
"type": [
"string",
"null"
]
},
"updated": {
"type": [
"string",
"null"
]
},
"coverage": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/coverage/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/coverage/additionalProperties"
}
}
]
}
},
"filters": {
"$ref": "#/properties/coverage"
},
"instruments": {
"type": "array",
"items": {
"$ref": "#/properties/coverage"
}
},
"current": {
"$ref": "#/properties/coverage"
},
"observations": {
"type": "array"
},
"levelChanges": {
"type": "array"
},
"events": {
"type": "array"
},
"policy": {
"$ref": "#/properties/coverage"
},
"confluence": {
"$ref": "#/properties/coverage"
},
"caveat": {
"type": "string"
}
},
"additionalProperties": {
"$ref": "#/properties/coverage/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_risk_diff(window)
Renvoie le Risk Diff l0g : ce qui a changé dans le risque depuis 1, 7 ou 30 jours. Inclut signaux, sources fraîches ou stale, claims, modèles, articles reliés et niveau de confiance.
Input Schema
{
"type": "object",
"properties": {
"window": {
"type": "string",
"enum": [
"1d",
"7d",
"30d"
],
"description": "Fenêtre optionnelle : 1d, 7d ou 30d."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"generated": {
"type": "string"
},
"anchorDate": {
"type": "string"
},
"filters": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/filters/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/filters/additionalProperties"
}
}
]
}
},
"windows": {
"type": "array"
},
"selectedWindow": {},
"freshness": {},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {
"$ref": "#/properties/filters/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_black_box(date, limitFrames)
Renvoie le Black Box Recorder l0g : frames point-in-time hashées des signaux de risque. Avec une date, sélectionne la dernière frame publiée avant ou le jour demandé, sans reconstruction rétroactive.
Input Schema
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date à rejouer au format YYYY-MM-DD. Si absente, renvoie la dernière frame."
},
"limitFrames": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 5,
"description": "Nombre de frames récentes à inclure quand date est absente."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"generated": {
"type": "string"
},
"coverage": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/coverage/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/coverage/additionalProperties"
}
}
]
}
},
"replay": {
"$ref": "#/properties/coverage"
},
"requestedDate": {
"type": [
"string",
"null"
]
},
"replayable": {
"type": "boolean"
},
"frame": {
"anyOf": [
{},
{
"type": "null"
}
]
},
"latestFrame": {
"anyOf": [
{},
{
"type": "null"
}
]
},
"frames": {
"type": "array"
},
"policy": {
"$ref": "#/properties/coverage"
}
},
"additionalProperties": {
"$ref": "#/properties/coverage/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_openapi_schema(mode, path)
Expose le contrat OpenAPI public de l'Agent Surface l0g. Permet à un agent de découvrir les chemins, méthodes et schémas sans récupérer tout le fichier si un résumé suffit.
Input Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"summary",
"path",
"full"
],
"default": "summary",
"description": "summary pour index, path pour un endpoint, full pour le contrat complet."
},
"path": {
"type": "string",
"description": "Chemin OpenAPI exact, par exemple /api/v1/claims.json, utilisé avec mode=path."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"openapi": {
"type": "string"
},
"info": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/info/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/info/additionalProperties"
}
}
]
}
},
"servers": {
"type": "array"
},
"pathCount": {
"type": "number"
},
"paths": {},
"schemas": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {
"$ref": "#/properties/info/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_ndjson_feed(feed, recordType, limit)
Lit les variantes NDJSON publiques de l'Agent Surface : catalog, claims, evidenceGraph, changes ou signalHistory. Le feed est allowlisté ; aucun chemin arbitraire n'est accepté.
Input Schema
{
"type": "object",
"properties": {
"feed": {
"type": "string",
"enum": [
"catalog",
"claims",
"evidenceGraph",
"changes",
"signalHistory"
],
"description": "Flux NDJSON à lire."
},
"recordType": {
"type": "string",
"description": "Filtre recordType optionnel, par exemple claim, article, node, edge ou change."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "Nombre maximum de lignes renvoyées."
}
},
"required": [
"feed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"feed": {
"type": "string"
},
"path": {
"type": "string"
},
"role": {
"type": "string"
},
"totalLines": {
"type": "number"
},
"totalMatches": {
"type": "number"
},
"count": {
"type": "number"
},
"truncated": {
"type": "boolean"
},
"recordType": {
"type": [
"string",
"null"
]
},
"records": {
"type": "array"
}
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/additionalProperties"
}
}
]
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_freshness(limit)
Renvoie la fraîcheur du corpus l0g : derniers contenus, compteurs, endpoints disponibles et politique de fraîcheur. À appeler avant de présenter un snapshot comme actuel.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 10,
"description": "Nombre de derniers contenus à renvoyer."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"generated": {
"type": "string"
},
"latest": {
"type": "array"
},
"corpus": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/corpus/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/corpus/additionalProperties"
}
}
]
}
},
"endpoints": {
"type": "array"
},
"signalFreshness": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"enum": [
"us",
"eu",
"yen",
"energie",
"debt"
]
},
"label": {
"type": "string"
},
"source": {
"type": "string",
"format": "uri"
},
"methodology": {
"type": "string",
"format": "uri"
},
"observedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"sourcePublishedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"sourceCheckedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"retrievedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"lastAttemptAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"lastSuccessAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"computedAt": {
"type": "string",
"format": "date-time"
},
"staleAfter": {
"type": "string"
},
"expiresAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"timelinessStatus": {
"type": "string",
"enum": [
"fresh",
"stale",
"unknown"
]
},
"sourceStatus": {
"type": "string",
"enum": [
"ok",
"fallback",
"missing"
]
},
"qualityStatus": {
"type": "string",
"enum": [
"nominal",
"degraded",
"official-delayed",
"unknown",
"missing"
]
},
"fallbackUsed": {
"type": "boolean"
},
"fallbackReason": {
"type": [
"string",
"null"
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"coverageStatus": {
"type": "string",
"enum": [
"complete",
"partial",
"missing"
]
},
"coverage": {
"type": "object",
"properties": {
"signalPresent": {
"type": "boolean"
},
"observedAt": {
"type": "boolean"
},
"sourcePublishedAt": {
"type": "boolean"
},
"retrievedAt": {
"type": "boolean"
},
"lastAttemptAt": {
"type": "boolean"
},
"lastSuccessAt": {
"type": "boolean"
},
"computedAt": {
"type": "boolean"
},
"staleAfter": {
"type": "boolean"
}
},
"required": [
"signalPresent",
"observedAt",
"sourcePublishedAt",
"retrievedAt",
"lastAttemptAt",
"lastSuccessAt",
"computedAt",
"staleAfter"
],
"additionalProperties": false
},
"missing": {
"type": "array",
"items": {
"type": "string",
"enum": [
"signalPresent",
"observedAt",
"sourcePublishedAt",
"retrievedAt",
"lastAttemptAt",
"lastSuccessAt",
"computedAt",
"staleAfter"
]
}
},
"note": {
"type": "string"
}
},
"required": [
"key",
"label",
"source",
"methodology",
"observedAt",
"sourcePublishedAt",
"sourceCheckedAt",
"retrievedAt",
"lastAttemptAt",
"lastSuccessAt",
"computedAt",
"staleAfter",
"expiresAt",
"timelinessStatus",
"sourceStatus",
"qualityStatus",
"fallbackUsed",
"fallbackReason",
"warnings",
"coverageStatus",
"coverage",
"missing",
"note"
],
"additionalProperties": false
}
},
"freshnessPolicy": {
"$ref": "#/properties/corpus"
}
},
"additionalProperties": {
"$ref": "#/properties/corpus/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_content(query, language, mode, limit)
Recherche plein texte locale dans l0g.fr : analyses, guides, glossaire, fiches méthodologiques et sources primaires. Par défaut, le serveur utilise l'index bilingue canonique partagé avec l'Agent Surface et WebMCP, sans fournisseur externe. Le mode catalog conserve l'ancien scoring léger sur titre, tags, topics et description.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Termes de recherche."
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Langue optionnelle : fr ou en. Sans filtre, recherche bilingue."
},
"mode": {
"type": "string",
"enum": [
"fulltext",
"catalog"
],
"default": "fulltext",
"description": "fulltext pour le corps des pages, catalog pour le scoring catalogue historique."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "Nombre maximum de résultats."
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"query": {
"type": "string"
},
"language": {
"anyOf": [
{
"type": "string",
"enum": [
"fr",
"en"
]
},
{
"type": "null"
}
]
},
"mode": {
"type": "string",
"enum": [
"fulltext",
"catalog"
]
},
"backend": {
"type": "string",
"enum": [
"shared-agent-search-index",
"catalog-weighted-lexical"
]
},
"coverage": {
"type": "array",
"items": {
"type": "string",
"enum": [
"title",
"tags",
"topics",
"description",
"body"
]
}
},
"count": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"article",
"guide",
"glossary",
"methodology",
"source"
]
},
"canonicalId": {
"type": "string"
},
"language": {
"$ref": "#/properties/language/anyOf/0"
},
"translationStatus": {
"type": "string",
"enum": [
"source",
"current",
"stale",
"missing-source"
]
},
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"date": {
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
},
"excerpt": {
"type": "string"
},
"score": {
"type": "number"
},
"matchedTerms": {
"type": "array",
"items": {
"type": "string"
}
},
"matchedFields": {
"type": "array",
"items": {
"type": "string",
"enum": [
"title",
"tags",
"description",
"body"
]
}
}
},
"required": [
"type",
"language",
"title",
"score"
],
"additionalProperties": false
}
}
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/additionalProperties"
}
}
]
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_research_pack(query, language, asOf, riskWindow, limit)
Compose en un appel un paquet de recherche déterministe : documents classés, claims canoniques, sources primaires, liens claim -> preuve, fraîcheur, Risk Diff, éléments adverses, limites et URLs citables. Ne produit aucune opinion d’investissement.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Question ou thème de recherche."
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Langue des documents recherchés : fr ou en."
},
"asOf": {
"type": "string",
"description": "Date point-in-time optionnelle au format YYYY-MM-DD."
},
"riskWindow": {
"type": "string",
"enum": [
"1d",
"7d",
"30d"
],
"default": "7d",
"description": "Fenêtre Risk Diff."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "Nombre maximum de documents."
}
},
"required": [
"query",
"language"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"query": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
]
},
"parameters": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/parameters/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/parameters/additionalProperties"
}
}
]
}
},
"asOf": {
"$ref": "#/properties/parameters"
},
"documents": {
"type": "array"
},
"claims": {
"type": "array"
},
"primarySources": {
"type": "array"
},
"claimEvidence": {
"type": "array"
},
"freshness": {
"$ref": "#/properties/parameters"
},
"riskDiff": {
"anyOf": [
{},
{
"type": "null"
}
]
},
"adversarialFindings": {
"type": "array"
},
"knownLimitations": {
"type": "array",
"items": {
"type": "string"
}
},
"citationUrls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {
"$ref": "#/properties/parameters/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_claims(claimId, articleSlug, language, sourceId, kind, ...)
Interroge les trois relations affirmation-source structurantes au maximum par article l0g. Filtrage par article, type de claim (fait, estimation, inférence ou scénario) et texte. Renvoie les références cliquables, datées quand détectable.
Input Schema
{
"type": "object",
"properties": {
"claimId": {
"type": "string",
"description": "Identifiant exact pour obtenir une claim unique."
},
"articleSlug": {
"type": "string",
"description": "Slug d'article optionnel."
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Langue du slug fourni. Une claim reste canonique en français."
},
"sourceId": {
"type": "string",
"description": "Slug de source, nom ou hôte cité."
},
"kind": {
"type": "string",
"enum": [
"fait",
"estimation",
"inférence",
"scénario"
],
"description": "Type de claim optionnel."
},
"query": {
"type": "string",
"description": "Filtre texte optionnel dans la claim ou le titre article."
},
"includeEvidence": {
"type": "boolean",
"default": false,
"description": "Inclut le voisinage de preuve quand une seule claim est renvoyée."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Nombre maximum de claims."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"count": {
"type": "number"
},
"filters": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/filters/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/filters/additionalProperties"
}
}
]
}
},
"claimKinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"fait",
"estimation",
"inférence",
"scénario"
]
}
},
"claims": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"canonicalId": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
]
},
"articleSlug": {
"type": "string"
},
"articleTitle": {
"type": "string"
},
"articleUrl": {
"type": "string"
},
"kind": {
"$ref": "#/properties/claimKinds/items"
},
"claim": {
"type": "string"
},
"date": {
"type": [
"string",
"null"
]
},
"dateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"claimDate": {
"$ref": "#/properties/claims/items/properties/date"
},
"claimDateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"observationDate": {
"$ref": "#/properties/claims/items/properties/date"
},
"observationDateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"observationStart": {
"$ref": "#/properties/claims/items/properties/date"
},
"observationEnd": {
"$ref": "#/properties/claims/items/properties/date"
},
"temporalPrecision": {
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year",
"range",
"unknown"
]
},
"confidence": {
"type": "string"
},
"reviewStatus": {
"type": "string",
"enum": [
"unreviewed",
"reviewed"
]
},
"reviewedAt": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewedBy": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewNote": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewedProofDepth": {
"anyOf": [
{
"type": "string",
"enum": [
"direct-proof",
"reproduction"
]
},
{
"type": "null"
}
]
},
"evidenceLocator": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"page",
"paragraph",
"section",
"table",
"series",
"cell",
"form",
"accession",
"doi",
"calculation",
"other"
]
},
"value": {
"type": "string"
}
},
"required": [
"type",
"value"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"reviewSourceUrl": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewSourceDate": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewSourceType": {
"anyOf": [
{
"type": "string",
"enum": [
"primary",
"secondary",
"issuer",
"dataset"
]
},
{
"type": "null"
}
]
},
"reproductionArtifact": {
"$ref": "#/properties/claims/items/properties/date"
},
"classifier": {
"$ref": "#/properties/filters"
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"href": {
"type": "string"
},
"host": {
"$ref": "#/properties/claims/items/properties/date"
},
"kind": {
"$ref": "#/properties/claims/items/properties/date"
},
"date": {
"$ref": "#/properties/claims/items/properties/date"
},
"dateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"sourcePublicationDate": {
"$ref": "#/properties/claims/items/properties/date"
},
"sourcePublicationDateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"retrievedAt": {
"$ref": "#/properties/claims/items/properties/date"
},
"indexedAt": {
"$ref": "#/properties/claims/items/properties/date"
}
},
"required": [
"label",
"href"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"canonicalId",
"language",
"articleSlug",
"kind",
"claim",
"references"
],
"additionalProperties": false
}
},
"claimId": {
"type": "string"
},
"sourceId": {
"type": "string"
},
"source": {
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "primarySource"
},
"slug": {
"type": "string"
},
"url": {
"$ref": "#/properties/claims/items/properties/articleUrl"
},
"name": {
"type": "string"
},
"shortName": {
"type": "string"
},
"category": {
"type": "string"
},
"officialUrl": {
"$ref": "#/properties/claims/items/properties/articleUrl"
},
"description": {
"type": "string"
},
"datasets": {
"type": "array",
"items": {
"$ref": "#/properties/filters"
}
},
"limits": {
"type": "array",
"items": {
"type": "string"
}
},
"verification": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"slug",
"name"
],
"additionalProperties": {
"$ref": "#/properties/filters/additionalProperties"
}
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "referenceHost"
},
"host": {
"type": "string"
},
"references": {
"type": "number"
},
"articles": {
"type": "number"
},
"kinds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"host"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"evidence": {
"$ref": "#/properties/filters"
},
"directEvidence": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"directEvidence",
"relatedContent"
]
},
"policy": {
"type": "string"
},
"returned": {
"$ref": "#/properties/filters"
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"article",
"claim",
"reference",
"host",
"primarySource",
"dataset"
]
},
"label": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"meta": {
"$ref": "#/properties/filters"
}
},
"required": [
"id",
"type",
"label"
],
"additionalProperties": false
}
},
"edges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"contains",
"cites",
"hostedBy",
"matchesPrimarySource",
"providesDataset"
]
},
"meta": {
"$ref": "#/properties/filters"
}
},
"required": [
"id",
"from",
"to",
"type"
],
"additionalProperties": false
}
}
},
"required": [
"scope",
"policy",
"nodes",
"edges"
],
"additionalProperties": false
},
"relatedContent": {
"$ref": "#/properties/directEvidence"
},
"policy": {
"$ref": "#/properties/filters"
}
},
"additionalProperties": {
"$ref": "#/properties/filters/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢verify_artifact(path, sha256)
Vérifie un artefact Agent Surface à partir du manifeste d'intégrité publié. Le chemin doit correspondre à un snapshot connu ; aucune lecture de chemin arbitraire n'est faite.
Input Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"minLength": 1,
"description": "Chemin public, par exemple /api/v1/evidence-graph.json."
},
"sha256": {
"type": "string",
"description": "Empreinte SHA-256 optionnelle à comparer au snapshot canonique."
}
},
"required": [
"path"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"path": {
"type": "string"
},
"verified": {
"type": [
"boolean",
"null"
]
},
"algorithm": {
"type": "string"
},
"expectedSha256": {
"type": "string"
},
"providedSha256": {
"type": [
"string",
"null"
]
},
"snapshot": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"url": {
"type": "string"
},
"role": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"canonicalSha256": {
"type": "string"
},
"canonicalBytes": {
"type": "number"
}
},
"required": [
"path",
"canonicalSha256"
],
"additionalProperties": false
},
"canonicalization": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/canonicalization/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/canonicalization/additionalProperties"
}
}
]
}
},
"verification": {
"$ref": "#/properties/canonicalization"
},
"knownPaths": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {
"$ref": "#/properties/canonicalization/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_changes(contentType, slug, since, limit)
Interroge le changefeed machine avec filtres de type, slug et date minimale. Inclut objectId, version/hash courant, statut de diff et type de changement sémantique.
Input Schema
{
"type": "object",
"properties": {
"contentType": {
"type": "string",
"enum": [
"article",
"guide",
"policy"
],
"description": "Type de contenu optionnel."
},
"slug": {
"type": "string",
"description": "Slug optionnel pour cibler un contenu."
},
"since": {
"type": "string",
"description": "Date ISO optionnelle, incluse, par exemple 2026-06-27."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "Nombre maximum d'entrées."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"generated": {
"type": "string"
},
"count": {
"type": "number"
},
"filters": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/filters/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/filters/additionalProperties"
}
}
]
}
},
"feedPolicy": {
"$ref": "#/properties/filters"
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"objectId": {
"type": "string"
},
"date": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"article-published",
"article-revised",
"guide-published",
"guide-revised",
"editorial-change"
]
},
"contentType": {
"type": "string",
"enum": [
"article",
"guide",
"policy"
]
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
]
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"changedFields": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"previousVersion": {
"type": [
"string",
"null"
]
},
"currentVersion": {
"type": "string"
},
"previousHash": {
"type": [
"string",
"null"
]
},
"currentHash": {
"type": [
"string",
"null"
]
},
"replaces": {
"anyOf": [
{
"type": "object",
"properties": {
"objectId": {
"type": "string"
},
"version": {
"type": "string"
},
"hash": {
"type": [
"string",
"null"
]
}
},
"required": [
"objectId",
"version",
"hash"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"semanticChange": {
"type": "string",
"enum": [
"publication",
"content-revision",
"source-update",
"evidence-update",
"editorial-policy-change"
]
},
"correctionReason": {
"type": [
"string",
"null"
]
},
"diffStatus": {
"type": "string",
"enum": [
"current-only",
"previous-version-known-without-hash",
"historical-version-without-hash",
"full-diff"
]
}
},
"required": [
"id",
"objectId",
"date",
"type",
"contentType",
"language",
"slug",
"title",
"url",
"changedFields",
"summary",
"previousVersion",
"currentVersion",
"previousHash",
"currentHash",
"replaces",
"semanticChange",
"correctionReason",
"diffStatus"
],
"additionalProperties": false
}
}
},
"additionalProperties": {
"$ref": "#/properties/filters/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_evidence_graph(articleSlug, language, nodeType, limit)
Renvoie un sous-graphe de preuve l0g : articles, claims, références, hôtes, sources primaires et datasets. Avec articleSlug, la preuve directe est séparée des contenus reliés par hôte/source/dataset commun.
Input Schema
{
"type": "object",
"properties": {
"articleSlug": {
"type": "string",
"description": "Slug d'article optionnel pour extraire son voisinage de graphe."
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Langue du slug fourni. Le graphe de preuve reste canonique en français."
},
"nodeType": {
"type": "string",
"enum": [
"article",
"claim",
"reference",
"host",
"primarySource",
"dataset"
],
"description": "Type de nœud optionnel."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 80,
"description": "Nombre maximum de nœuds renvoyés."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"generated": {
"type": "string"
},
"counts": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/counts/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/counts/additionalProperties"
}
}
]
}
},
"returned": {
"$ref": "#/properties/counts"
},
"filters": {
"$ref": "#/properties/counts"
},
"graphPolicy": {
"$ref": "#/properties/counts"
},
"directEvidence": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"directEvidence",
"relatedContent"
]
},
"policy": {
"type": "string"
},
"returned": {
"$ref": "#/properties/counts"
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"article",
"claim",
"reference",
"host",
"primarySource",
"dataset"
]
},
"label": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"meta": {
"$ref": "#/properties/counts"
}
},
"required": [
"id",
"type",
"label"
],
"additionalProperties": false
}
},
"edges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"contains",
"cites",
"hostedBy",
"matchesPrimarySource",
"providesDataset"
]
},
"meta": {
"$ref": "#/properties/counts"
}
},
"required": [
"id",
"from",
"to",
"type"
],
"additionalProperties": false
}
}
},
"required": [
"scope",
"policy",
"nodes",
"edges"
],
"additionalProperties": false
},
"relatedContent": {
"$ref": "#/properties/directEvidence"
},
"nodes": {
"type": "array",
"items": {
"$ref": "#/properties/directEvidence/properties/nodes/items"
}
},
"edges": {
"type": "array",
"items": {
"$ref": "#/properties/directEvidence/properties/edges/items"
}
}
},
"additionalProperties": {
"$ref": "#/properties/counts/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_sources(sourceId, mode, includeClaims, limit)
Liste les sources primaires institutionnelles suivies par l0g et les hôtes effectivement cités par les claims. Utile pour auditer l'origine des preuves.
Input Schema
{
"type": "object",
"properties": {
"sourceId": {
"type": "string",
"description": "Source précise à résoudre, par slug, nom ou hôte."
},
"mode": {
"type": "string",
"enum": [
"primary",
"hosts",
"both"
],
"default": "both",
"description": "Type de sources à renvoyer."
},
"includeClaims": {
"type": "boolean",
"default": false,
"description": "Inclut les claims associées quand sourceId est fourni."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 30,
"description": "Nombre maximum de sources ou hôtes."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"counts": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/counts/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/counts/additionalProperties"
}
}
]
}
},
"sourcePolicy": {
"$ref": "#/properties/counts"
},
"primarySources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "primarySource"
},
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"shortName": {
"type": "string"
},
"category": {
"type": "string"
},
"officialUrl": {
"$ref": "#/properties/primarySources/items/properties/url"
},
"description": {
"type": "string"
},
"datasets": {
"type": "array",
"items": {
"$ref": "#/properties/counts"
}
},
"limits": {
"type": "array",
"items": {
"type": "string"
}
},
"verification": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"slug",
"name"
],
"additionalProperties": {
"$ref": "#/properties/counts/additionalProperties"
}
}
},
"referenceHosts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "referenceHost"
},
"host": {
"type": "string"
},
"references": {
"type": "number"
},
"articles": {
"type": "number"
},
"kinds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"host"
],
"additionalProperties": false
}
},
"sourceId": {
"type": "string"
},
"sourceType": {
"type": "string",
"enum": [
"primarySource",
"referenceHost",
"referenceMatch"
]
},
"source": {
"anyOf": [
{
"anyOf": [
{
"$ref": "#/properties/primarySources/items"
},
{
"$ref": "#/properties/referenceHosts/items"
}
]
},
{
"type": "null"
}
]
},
"claimsCount": {
"type": "number"
},
"claims": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"canonicalId": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
]
},
"articleSlug": {
"type": "string"
},
"articleTitle": {
"type": "string"
},
"articleUrl": {
"$ref": "#/properties/primarySources/items/properties/url"
},
"kind": {
"type": "string",
"enum": [
"fait",
"estimation",
"inférence",
"scénario"
]
},
"claim": {
"type": "string"
},
"date": {
"type": [
"string",
"null"
]
},
"dateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"claimDate": {
"$ref": "#/properties/claims/items/properties/date"
},
"claimDateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"observationDate": {
"$ref": "#/properties/claims/items/properties/date"
},
"observationDateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"observationStart": {
"$ref": "#/properties/claims/items/properties/date"
},
"observationEnd": {
"$ref": "#/properties/claims/items/properties/date"
},
"temporalPrecision": {
"type": "string",
"enum": [
"day",
"month",
"quarter",
"year",
"range",
"unknown"
]
},
"confidence": {
"type": "string"
},
"reviewStatus": {
"type": "string",
"enum": [
"unreviewed",
"reviewed"
]
},
"reviewedAt": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewedBy": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewNote": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewedProofDepth": {
"anyOf": [
{
"type": "string",
"enum": [
"direct-proof",
"reproduction"
]
},
{
"type": "null"
}
]
},
"evidenceLocator": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"page",
"paragraph",
"section",
"table",
"series",
"cell",
"form",
"accession",
"doi",
"calculation",
"other"
]
},
"value": {
"type": "string"
}
},
"required": [
"type",
"value"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"reviewSourceUrl": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewSourceDate": {
"$ref": "#/properties/claims/items/properties/date"
},
"reviewSourceType": {
"anyOf": [
{
"type": "string",
"enum": [
"primary",
"secondary",
"issuer",
"dataset"
]
},
{
"type": "null"
}
]
},
"reproductionArtifact": {
"$ref": "#/properties/claims/items/properties/date"
},
"classifier": {
"$ref": "#/properties/counts"
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"href": {
"type": "string"
},
"host": {
"$ref": "#/properties/claims/items/properties/date"
},
"kind": {
"$ref": "#/properties/claims/items/properties/date"
},
"date": {
"$ref": "#/properties/claims/items/properties/date"
},
"dateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"sourcePublicationDate": {
"$ref": "#/properties/claims/items/properties/date"
},
"sourcePublicationDateLabel": {
"$ref": "#/properties/claims/items/properties/date"
},
"retrievedAt": {
"$ref": "#/properties/claims/items/properties/date"
},
"indexedAt": {
"$ref": "#/properties/claims/items/properties/date"
}
},
"required": [
"label",
"href"
],
"additionalProperties": false
}
},
"matchingReferences": {
"type": "array",
"items": {
"$ref": "#/properties/claims/items/properties/references/items"
}
}
},
"required": [
"id",
"canonicalId",
"language",
"articleSlug",
"kind",
"claim",
"references",
"matchingReferences"
],
"additionalProperties": false
}
}
},
"additionalProperties": {
"$ref": "#/properties/counts/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_integrity(path)
Renvoie les empreintes SHA-256 canoniques des surfaces Agent Surface, JSON et NDJSON. Utile pour vérifier qu'un agent a ingéré un snapshot précis.
Input Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Chemin optionnel, par exemple /api/v1/claims.ndjson."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"generated": {
"type": "string"
},
"algorithm": {
"type": "string"
},
"canonicalization": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/canonicalization/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/canonicalization/additionalProperties"
}
}
]
}
},
"count": {
"type": "number"
},
"snapshots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"url": {
"type": "string"
},
"role": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"canonicalSha256": {
"type": "string"
},
"canonicalBytes": {
"type": "number"
}
},
"required": [
"path",
"canonicalSha256"
],
"additionalProperties": false
}
},
"verification": {
"$ref": "#/properties/canonicalization"
}
},
"additionalProperties": {
"$ref": "#/properties/canonicalization/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_changefeed(contentType, limit)
Renvoie les dernières publications, révisions et politiques avec objectId, version/hash courant, statut de diff et changement sémantique. À utiliser pour surveiller le corpus sans tout rescanner.
Input Schema
{
"type": "object",
"properties": {
"contentType": {
"type": "string",
"enum": [
"article",
"guide",
"policy"
],
"description": "Type de contenu optionnel."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "Nombre maximum d'entrées."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"version": {
"type": "string"
},
"generated": {
"type": "string"
},
"count": {
"type": "number"
},
"feedPolicy": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/properties/feedPolicy/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/feedPolicy/additionalProperties"
}
}
]
}
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"objectId": {
"type": "string"
},
"date": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"article-published",
"article-revised",
"guide-published",
"guide-revised",
"editorial-change"
]
},
"contentType": {
"type": "string",
"enum": [
"article",
"guide",
"policy"
]
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
]
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"changedFields": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"previousVersion": {
"type": [
"string",
"null"
]
},
"currentVersion": {
"type": "string"
},
"previousHash": {
"type": [
"string",
"null"
]
},
"currentHash": {
"type": [
"string",
"null"
]
},
"replaces": {
"anyOf": [
{
"type": "object",
"properties": {
"objectId": {
"type": "string"
},
"version": {
"type": "string"
},
"hash": {
"type": [
"string",
"null"
]
}
},
"required": [
"objectId",
"version",
"hash"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"semanticChange": {
"type": "string",
"enum": [
"publication",
"content-revision",
"source-update",
"evidence-update",
"editorial-policy-change"
]
},
"correctionReason": {
"type": [
"string",
"null"
]
},
"diffStatus": {
"type": "string",
"enum": [
"current-only",
"previous-version-known-without-hash",
"historical-version-without-hash",
"full-diff"
]
}
},
"required": [
"id",
"objectId",
"date",
"type",
"contentType",
"language",
"slug",
"title",
"url",
"changedFields",
"summary",
"previousVersion",
"currentVersion",
"previousHash",
"currentHash",
"replaces",
"semanticChange",
"correctionReason",
"diffStatus"
],
"additionalProperties": false
}
}
},
"additionalProperties": {
"$ref": "#/properties/feedPolicy/additionalProperties"
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_recent_analyses(language, limit)
Liste les analyses (articles) les plus récentes de l0g.fr, de la plus récente à la plus ancienne, avec titre, URL, date, description et thèmes.
Input Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Langue optionnelle : fr ou en. Sans filtre, liste bilingue."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 5,
"description": "Nombre d'analyses à renvoyer."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"count": {
"type": "number"
},
"analyses": {
"type": "array"
}
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/additionalProperties"
}
}
]
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_guides(language)
Liste les guides de référence de l0g.fr (pages piliers durables : 13F, Form 4, GENIUS Act, OFAC, MiCA...), avec titre, URL, description et résumé définitionnel.
Input Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Langue optionnelle : fr ou en. Sans filtre, liste bilingue."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"count": {
"type": "number"
},
"guides": {
"type": "array"
}
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/additionalProperties"
}
}
]
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_by_topic(topic, language, limit)
Liste les analyses rattachées à un sujet (hub thématique) de l0g.fr. Accepte un slug ou un libellé approchant ; les sujets disponibles sont renvoyés avec une erreur de résolution.
Input Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "Slug ou libellé du sujet."
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Langue optionnelle : fr ou en. Sans filtre, recherche bilingue."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 10,
"description": "Nombre maximum d'analyses."
}
},
"required": [
"topic"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"count": {
"type": "number"
},
"analyses": {
"type": "array"
},
"topic": {
"type": "string"
},
"label": {
"type": "string"
},
"requested": {
"type": "string"
},
"topics": {
"type": "array"
}
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/additionalProperties"
}
}
]
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_article(slug, language, offset, cursor, limit, ...)
Renvoie le texte d'une analyse ou d'un guide l0g à partir de son slug. Le résultat est paginable par offset/length et expose nextOffset pour récupérer la suite. Utiliser section=tail ou section=sources pour atteindre rapidement conclusion, limites, méthodologie et sources. Pour lire le document complet comme objet, utiliser aussi la ressource l0g://articles/{slug} ou l0g://guides/{slug}.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "Slug de l'article ou du guide."
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
],
"description": "Langue optionnelle : fr ou en. Une URL /en/... permet aussi de l’inférer."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Position de départ en caractères pour paginer le texte."
},
"cursor": {
"type": "string",
"description": "Curseur opaque nextCursor renvoyé par un appel précédent."
},
"limit": {
"type": "integer",
"minimum": 1000,
"maximum": 50000,
"description": "Alias de length, recommandé pour les clients agents."
},
"length": {
"type": "integer",
"minimum": 1000,
"maximum": 50000,
"default": 16000,
"description": "Longueur maximale du segment renvoyé."
},
"section": {
"type": "string",
"enum": [
"body",
"head",
"tail",
"sources"
],
"default": "body",
"description": "Section pratique : body avec offset, head, tail ou sources."
}
},
"required": [
"slug"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"slug": {
"type": "string"
},
"canonicalId": {
"type": "string"
},
"language": {
"anyOf": [
{
"type": "string",
"enum": [
"fr",
"en"
]
},
{
"type": "null"
}
]
},
"translationStatus": {
"type": "string",
"enum": [
"source",
"current",
"stale",
"missing-source"
]
},
"type": {
"type": "string",
"enum": [
"article",
"guide"
]
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"words": {
"type": "number"
},
"totalWords": {
"type": "number"
},
"totalChars": {
"type": "number"
},
"textChars": {
"type": "number"
},
"offset": {
"type": "number"
},
"limit": {
"type": "number"
},
"length": {
"type": "number"
},
"nextOffset": {
"type": [
"number",
"null"
]
},
"nextCursor": {
"type": [
"string",
"null"
]
},
"hasMore": {
"type": "boolean"
},
"section": {
"type": "string",
"enum": [
"body",
"head",
"tail",
"sources"
]
},
"sectionFound": {
"type": "boolean"
},
"truncated": {
"type": "boolean"
},
"text": {
"type": "string"
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"href": {
"type": "string"
},
"host": {
"type": [
"string",
"null"
]
},
"kind": {
"$ref": "#/properties/references/items/properties/host"
},
"date": {
"$ref": "#/properties/references/items/properties/host"
},
"dateLabel": {
"$ref": "#/properties/references/items/properties/host"
},
"sourcePublicationDate": {
"$ref": "#/properties/references/items/properties/host"
},
"sourcePublicationDateLabel": {
"$ref": "#/properties/references/items/properties/host"
},
"retrievedAt": {
"$ref": "#/properties/references/items/properties/host"
},
"indexedAt": {
"$ref": "#/properties/references/items/properties/host"
}
},
"required": [
"label",
"href"
],
"additionalProperties": false
}
}
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/additionalProperties"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/additionalProperties"
}
}
]
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence