l0g.fr Risk Intelligence
Read-only macro risk analysis, evidence, signals, and source-backed research from l0g.fr.
我該用這個嗎
品質與安全性
發現項目(5)
- LOW在 get_agent_manifest 中
- LOW在 get_risk_diff 中
- LOW在 get_freshness 中
- LOW在 get_integrity 中
- LOW在 get_changefeed 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"l0g": {
"url": "https://l0g.fr/api/mcp"
}
}
}遠端端點
https://l0g.fr/api/mcpstreamable-httphttps://l0g.fr/api/mcp/compactstreamable-http它能做什麼
工具清單
工具(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.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/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.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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é.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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}.
輸入結構描述
{
"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#"
}輸出結構描述
{
"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#"
}社群
證據