l0g.fr Risk Intelligence
Read-only macro risk analysis, evidence, signals, and source-backed research from l0g.fr.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (5)
- LOWen get_agent_manifest
- LOWen get_risk_diff
- LOWen get_freshness
- LOWen get_integrity
- LOWen get_changefeed
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"l0g": {
"url": "https://l0g.fr/api/mcp"
}
}
}Puntos de conexión remotos
https://l0g.fr/api/mcpstreamable-httphttps://l0g.fr/api/mcp/compactstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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é.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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}.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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#"
}Comunidad
Evidencia