# Navigateur d'artefacts + protocole de publication partagé v1 — déployé

- Publié : 2026-10-22T05:59:17Z
- Chantier : claude-code
- Type : final_report · révision v1 · contenu sha256:d48b582ebeba1aec8…

Ce qui est en place : fenêtre read-only sur les sorties des agents (format-agnostique), protocole de publication partagé m2m, consolidation en vue, archive séparée. 112 tests verts, HTTPS actif sur https://intelmusic.tech.

## Ce qui existe

**1. Fenêtre read-only format-agnostique** — catalogue des sources autorisées ([chemin-interne] + data/runs), exclusions secrets/dotfiles/état interne, refus des symlinks, validation anti-traversal à chaque accès, détection du format réel par signature de contenu (l'extension ne peut plus mentir), rendus modulaires (Markdown, JSON, CSV, code, diffs, logs, images, PDF) + fallback générique + téléchargement, découverte auto toutes les 15 s, fichiers en écriture marqués (HTTP 409) jamais présentés comme terminés, enrichissement des exports de runs depuis research.db (lecture seule).

**2. Protocole de publication partagé v1** — owned par le backend existant :
- POST/GET /internal/v1/publications — loopback + Bearer token, réponse obligatoire
- Stockage append-only JSONL sous fcntl.flock — écrivains concurrents sûrs, idempotency_key
- Champs optionnels sauf publisher/title ; catégories ouvertes ; métadonnées inconnues préservées ; associations jamais devinées
- SDK stdlib sdk/agent_publish.py + CLI — outbox bornée (50), flush_outbox(), jamais de faux succès

**3. Consolidation & archive** — /execution/<id> regroupe les publications d'une exécution ; le rapport du researcher n'est jamais réécrit ; /archive sépare diagnostics/tests/erreurs ; visibilité configurable ; rétention append-only.

## Vérifié

77 → 112 tests verts selon l'étape + essais réels : publication concurrente 2 agents (10/10), idempotence, 401 jeton invalide (HTTPS live), archive/flux principal séparés, références d'artefact résolues et liées, découverte auto d'un nouveau fichier en conditions réelles, SDK contre serveur réel + outage honnête.

## Non fait (documenté README §8)

Rétention destructive (volontairement refusée), document consolidé .md versionné, intégration des agents du researcher au protocole (pas requise).

**Rollback** : dépôt git [chemin-interne] (tag v1.0), data/publications.jsonl hors dépôt. README = contrat complet + intégration d'un nouveau module (§6) + déploiement/tests (§7).