l0g website
- ✓Actively maintained (<30d)
- ✓Topics declared
- ✓Documented (README)
- !Licence file present but not machine-readable
git clone https://github.com/bluetouff/l0gTools overview
# l0g.fr
Journal statique (Astro 7 + Tailwind v4), édité en Markdown/MDX, versionné sur
GitHub, déployé en pull-based sur un serveur Debian/Apache qui ne sert que du
HTML. Infographies locales, recherche Pagefind, RSS, sitemap, aucun tracker.
> Pour publier (articles, pages avec graphes, colonne de droite), voir le guide
> pas à pas : [`docs/GUIDE-CONTENU.md`](docs/GUIDE-CONTENU.md).
## Jouer en local
```bash
npm install
npm run dev # http://localhost:4321
```
Aperçu d'un build de production (nécessaire pour tester la recherche Pagefind) :
```bash
npm run build # astro build + indexation pagefind
npm run preview
```
## Surfaces publiques
l0g publie aussi des surfaces lisibles par machine, utilisées par les agents IA
et par les dashboards :
- `/agents.json` : manifeste de découverte pour agents.
- `/openapi.json` : contrat OpenAPI 3.1 de l'API publique.
- `/api/v1/risk-diff.json` : diff du risque sur 1, 7 et 30 jours
(signaux, sources, claims, modèles, articles et confiance).
- `/api/v1/black-box.json` : frames point-in-time hashées pour rejouer
l'état public du risque sans reconstruction rétroactive.
- `/api/v1/risk.json` : signaux de risque normalisés par instrument.
- `/api/v1/debt-risk.json` : snapshot canonique Dette US repris de Debt Risk
Radar `latest.json`, avec provenance, buckets et couverture lorsque disponible.
- `/api/v1/signals/history.*` : historique point-in-time pour backtests et
replay sans look-ahead bias.
- `/api/v1/signals/{slug}/chart.svg` : graphique autonome 1200 × 630 d'une
série nommée, avec source et attribution CC BY 4.0 intégrées.
- `/ressources-journalistes/` et `/en/press-resources/` : graphiques, exports,
code d'intégration, citations recommandées et limites de réutilisation.
- `/api/mcp/compact` : façade MCP recommandée à six outils, avec découverte,
recherche, documents, preuves, research packs et `get_risk_state`, produit
principal pour l’état courant, le diff, l’historique et le replay.
- `/api/mcp` : surface MCP complète en lecture seule, conservée pour compatibilité
et usages experts autour d'Agent Surface, Risk Diff, Black Box, claims, sources,
intégrité et changefeed.
- `/api/v1/toolset-manifest.json` : versions et empreintes anti-dérive des contrats
d'outils MCP complet et compact.
- `/api/v1/human-traffic.json` : GET HTML filtrés agrégés par jour, page et
domaine référent, plus une ventilation séparée MCP/API, previews, robots et
scans ; sans identifiant persistant et avec seuil k=5. Le filtrage ne certifie
pas l’origine humaine des accès ; `measurement.filter_version` identifie la méthode.
- `/llms.txt` et `/llms-full.txt` : cartes textuelles pour agents et RAG.
Les détails de calcul et les limites de modèle sont dans
[`docs/MODELES-RISQUE.md`](docs/MODELES-RISQUE.md) et dans
`/methodologie/`.
## Outil interne de revue des claims
L'UI de revue humaine des assertions (tooling d’admin) est volontairement
isolée du site public et du MCP. Elle n'est pas exposée publiquement :
- serveur local: `127.0.0.1:4317`
- endpoint principal: `http://127.0.0.1:4317/`
Lancement :
```bash
node scripts/review-claims.mjs
```
Le mode commit reste strictement en terminal :
```bash
node scripts/review-claims.mjs --commit [--dry-run] [--push] --message "..."
```
Détails sécurité côté local :
- seul localhost est accepté,
- toutes les mutations API (`/api/review`, `/api/remove`) exigent JSON + token anti-CSRF propre à la session (`x-review-token`),
- validation de payload (longueurs/champs),
- anti-spam local par fenêtre de temps sur les routes de mutation,
- commit Git en mode interactif terminal uniquement avec confirmation explicite `CONFIRMER`.
Le MCP public et les endpoints de production ne sont pas affectés par ces options.
### Dépannage rapide
En cas d’erreur dans l’UI de revue :
1. **Requête rejetée avec `Token de sécurité manquant ou invalide`**
- Rafraîchis la page (`Cmd/Ctrl + R`) puis rejoue l’action.
- Si ça persiste, arrête puis relance le service :
- `Ctrl+C` dans le terminal qui a lancé `node scripts/review-claims.mjs`
- relance `node scripts/review-claims.mjs`
- Evite d’avoir plusieurs tabs de cette UI ouvertes.
2. **Erreur `Method not allowed` / 405**
- Vérifie de ne pas appeler les endpoints de manière manuelle hors UI.
- Les routes mutantes attendent uniquement `POST` avec JSON.
3. **Erreur `Content-Type invalide: application/json requis`**
- C’est normal si une requête n’envoie pas `content-type: application/json`.
- L’UI interne envoie bien ce header.
4. **Erreur de débit (`Trop de requêtes`)**
- Attends quelques secondes puis reteste ; la limite locale est 30 requêtes / minute.
- Cela protège le endpoint admin local contre le spam.
5. **Erreur `Requête trop volumineuse` / champs trop longs**
- Réduis la taille du payload dans le formulaire (note, preuve, localisateur).
- Le message de commit reste inchangé : il s’agit d’un guard local par design.
### Checklist opérationnelle de maintenance
- Avant de modifier ce flux local :
- vérifier qu’aucune donnée sensible de production n’est présente sur le poste (workflow git local propre),
- arrêter le serveur review existant (`Ctrl+C`) avant de relancer la commande,
- démarrer avec `node scripts/review-claims.mjs`,
- valider une review test puis vérifier la sortie JSON du serveur (`/api/state`).
- En cas de hardening ou de changement de format de review :
- relancer un `git status --short`,
- exécuter `node scripts/review-claims.mjs --commit --dry-run --message "..."`,
- vérifier le diff affiché n’éditera que `src/config/claim-reviews.json`,
- exécuter le `commit --dry-run` réel avec `CONFIRMER` uniquement si le diff est conforme.
- Après mise à jour :
- redémarrer le serveur review local,
- conserver la trace des événements sécurité récents si nécessaire :
- `curl -s http://127.0.0.1:4317/api/security-stats`
## Modèles de risque
Deux corrections de modèle sont maintenant reflétées dans les surfaces l0g :
- **Debt Risk Radar** : les projections CBO restent isolées comme vulnérabilité
structurelle. Le stress courant exclut CBO et impute les familles courantes
absentes à `50`, au lieu de renormaliser tout le score sur les seules sources
disponibles. Le prochain snapshot généré depuis `latest.json` expose
`score.coverage`.
- **US Macro Dashboard** : le moteur ne retient plus mécaniquement le signal le
plus élevé entre z-score, drift et momentum. Il combine les composantes par
moyenne pondérée et pénalise les séries qui alertent trop souvent hors fenêtre
de récession NBER.
Après modification d'un moteur amont, régénérer les artefacts l0g avec
`npm run risk:update`, puis `npm run test:risk-snapshot`,
`npm run test:agent-surface` et `npm run build`.
## Écrire un article
Créer un fichier dans `src/content/posts/`, en `.md` (texte) ou `.mdx` (texte +
composants). Frontmatter :
```yaml
---
title: "Titre de l'article"
description: "Résumé court (liste + SEO + OG)."
pubDate: 2026-06-08
tags: ["macro", "crypto"]
draft: false # true = non publié
---
```
L'URL est dérivée du nom de fichier : `mon-article.md` → `/posts/mon-article/`.
## Ajouter une infographie
Les visuels publiés doivent être locaux : SVG inline dans un fichier `.mdx`,
composant Astro interne ou fichier placé dans `public/infographies/`.
```markdown

```
Les scripts, iframes, images et polices chargés depuis un domaine tiers sont
interdits. Le build de sécurité contrôle cette promesse.
Toute balise `<img>` doit déclarer ses dimensions intrinsèques `width` et
`height`, ainsi que `loading="lazy"` et `decoding="async"`. L'audit de
performance bloque une régression susceptible de provoquer du CLS.
## Déploiement (vue d'ensemble)
### Politique CI frugale
- Aucun workflow GitHub Actions n'est planifié par cron.
- Le build attesté s'exécute sur un changement de `main` qui affecte le site,
ou à la demande. Les changements limités aux documents internes et aux
workflows sans effet sur le site ne republient pas `built`.
- CodeQL conserve la suite `security-extended` sur les changements de code et
les pull requests, avec annulation des analyses devenues obsolètes. Les
changements purement éditoriaux ou statiques sont exclus.
- Une modification de la chaîne risque valide automatiquement ses contrats
locaux. Le contrôle de bout en bout de la production s'exécute ensuite à la
demande, après activation de la révision serveur : un push ne peut donc plus
être déclaré en échec uniquement parce que la production sert encore la
révision précédente. Le timer serveur `l0g-risk.timer`, configuré toutes les
15 minutes, reste le mécanisme de production des agrégats.
- `npm run test:ci-policy` bloque la réintroduction silencieuse d'un cron et
vérifie les principaux garde-fous de coût et de sécurité.
### Migration attestée terminée et vérifiée le 21 juillet 2026
- Le workflow CI publie dans `built` uniquement une enveloppe de release
composée de l'archive statique, du SHA-256, du bundle Sigstore et des
coordonnées du commit source. Ces coordonnées sont incluses dans
l'archive attestée et dupliquées à la racine de `built`; le déployeur exige
leur égalité octet par octet avant toute bascule.
- Le serveur active exclusivement l'archive dont le checksum, l'attestation,
le workflow signataire, la ref et le commit source ont été vérifiés.
- L'ancien arbre statique de compatibilité a été retiré après vérification en
production des marqueurs `.last_source_sha` et `.last_built_sha`.
L'index des contrats, runbooks et versions maintenues se trouve dans
[`docs/README.md`](docs/README.md).
1. `git push` sur `main`.
2. GitHub Actions construit `dist/`, crée une archive déterministe de toute la
sortie, puis l'atteste avec GitHub OIDC et Sigstore.
3. La branche `built` transporte l'archive en fragments numérotés de 90 Mio
au maximumWhat people ask about l0g
What is bluetouff/l0g?
+
bluetouff/l0g is tools for the Claude AI ecosystem. l0g website It has 19 GitHub stars and its last recorded update is dated 2026-10-09.
How do I install l0g?
+
You can install l0g by cloning the repository (https://github.com/bluetouff/l0g) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is bluetouff/l0g safe to use?
+
Our security agent has analyzed bluetouff/l0g and assigned a Trust Score of 75/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains bluetouff/l0g?
+
bluetouff/l0g is maintained by bluetouff. The last recorded GitHub activity is dated 2026-10-09, with 0 open issues.
Are there alternatives to l0g?
+
Yes. On ClaudeWave you can browse similar tools at /categories/tools, sorted by popularity or recent activity.
Deploy l0g to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/bluetouff-l0g)<a href="https://claudewave.com/repo/bluetouff-l0g"><img src="https://claudewave.com/api/badge/bluetouff-l0g" alt="Featured on ClaudeWave: bluetouff/l0g" width="320" height="64" /></a>More Tools
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
An AI skill that provides design intelligence for building professional UI/UX across multiple platforms.
🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
The fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]
Use Claude Code, Codex, VSCode, Pi, and OpenCode (and 6 other harnesses) for free (1.3B+ free tokens) from your terminal, app, IDE, or phone, and now from the browser with native browser sessions (multi-harness + multi-model) like OpenClaw (voice supported + ToS friendly)