DOC-03 / Synedre
The Conduct
Sequential orchestration of Synedre's workflows — every complex task is a traced representation, mixing AI agents and deterministic automations.
The founding triptych
Three roles, three natures, a single traced sequence.
AGENT
The Agent thinks
Creative, contextual reasoning, judgement. The AI agent mobilises its 4-dimension cognitive frame to decide.
AUTOMATION
The Automation executes
Deterministic, reproducible plumbing. The Python script does its job, captures its logs, returns its exit code.
CONDUCT
The Conduct orchestrates
Ordered sequence of cues, traced end to end. The Director raises the curtain, executes, closes the curtain.
The Conduct orders without dictating the outcome: its cues are fixed, but an agent cue keeps its judgement.
Theatre vocabulary
Inspired by the stagehands of the Roaring Twenties — Folies Bergère, Casino de Paris. The conduct book lists every cue in order.
The Conduct
Definition of a named workflow — ordered sequence of cues, persisted and versioned.
The Cue
A unitary typed step — either an agent cue (reasoning) or an automation cue (execution).
The Representation
A traced execution of a conduct, with timestamp, duration, status and structured logs.
The Director
The orchestrator agent (Atlas) that reads the conduct and executes the cues sequentially.
Curtain call
Representation completed successfully. All cues have passed.
Stage stop
Representation interrupted by a failed cue. The trace remains for audit.
SYSTEM / Orchestration
The Orchestration
How an intent becomes a delivery. Five sequential phases, a chain of responsibility traced end to end.
the Founder
Directs & Decides
Atlas — Orchestrator
Analyses the task, dispatches agents, synthesises reports.
Context
Data, monitoring, vision
Framing
Strategy, ROI, Compliance
Execution
0 domain agents
Validation
0 post-commit agents
Post-Ship
Infra, docs, after deploy
Health
Wi WinnicottFull session

The Liturgy of the Hours
241 Automata · 7 castes
213 scheduled · 28 on-demand
The Agents think. The Automata execute.
Renoir
Stage Director of Automata
Vigies
Surveillance
35 scripts
Horlogers
Monitoring
26 scripts
Oracles
Foresight
26 scripts
Tisserands
Internal linking
20 scripts
Bâtisseurs
Infrastructure
17 scripts
Cellériers
Housekeeping / accounts
6 scripts
Scribes
Authoring
6 scripts
Unclassified
Awaiting classification
105 scripts
Verified delivery
Clean code, consistent design, production verified.
The advisers summoned at each cue, and their director, are introduced in the Council.
What runs with no one there
The liturgy of the hours
143 runs at a fixed hour, 76 at every hour. A conduct is invoked; an automaton sets off on its own.
| Hour | Office | What sets off | Nature | Where | Live | Cause of death | What it does |
|---|---|---|---|---|---|---|---|
| 00 h | Matins | Auto-réparation doc gatée (Shyrka)synedre/ac_doc_autofix.py | automatonBâtisseurs | synedre | live | — | Phase 3 #182 : corrige SEULE les dead-refs déménagés sans ambiguïté dans harness/*.md (1 commit/run, réversible, capé). JAMAIS code/CLAUDE.md/--activate. active=0 = kill-switch. |
| Miroir de Shyrka — drift doc↔codesynedre/ac_doc_drift_watch.py | automatonVigies | synedre | live | — | Veille nocturne read-only : mesure l'écart entre la doc (proprioception) et le code (corps réel). Écrit sy_doc_drift + 1 ligne backlog. Chantier #182 Phase 0. | ||
| Cœur du Synedre : orchestre 13 agents, checks et heartbeats toutes les 5 minsynedre/archive/ac_agents_reactor.py | automatonBâtisseurs | vaisseau-mère | stopped | Mort en production sans bruit — ses treize surveillances ont été reprises par des automates dédiés. 2026-05-03 | Cœur du Synedre : orchestre 13 agents, checks et heartbeats toutes les 5 min | ||
| Boucle Ouroboros informationnelle : GSC → Content Intelligence → contenusynedre/archive/ac_ouroboros.py | metaskillOracles | vaisseau-mère | stopped | Mort en production sans bruit — constaté lors d'un balayage de la flotte. 2026-05-03 | Boucle Ouroboros informationnelle : GSC → Content Intelligence → contenu | ||
| Synchronisation des covers blog (injection covers manquantes)synedre/archive/ac_cover_sync.py | automatonScribes | vaisseau-mère | stopped | Mort en production sans bruit — constaté lors d'un balayage de la flotte. 2026-05-03 | Cron horaire batch catch-up : scan TOUS articles sans cover et fixe (filet de sécurité si coverwatch rate). | ||
| 01 h | ac_transcripts_compactsynedre/ac_transcripts_compact.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | |
| Relève hebdomadaire d'UN concurrent, de bout en bout.synedre/ac_etbcompare_weekly.py | automatonOracles | vaisseau-mère | live | — | Enchaîne les trois gestes qui n'ont de valeur qu'ensemble : scraping du concurrent → étiquetage des natures → synchronisation PrestaShop. | ||
| Synchronisation des avis Google Business Profilesynedre/ac_google_reviews_sync.py | automatonTisserands | vaisseau-mère | live | — | Flow : 1. Lecture/config des Place IDs depuis ps_ac_business (ou lookup auto) 2. Pour chaque établissement configuré : a. GET place/details → name, rating, user_ratings_total, reviews (≤5) b. UPSERT vaisseau_mere_ac.ps_ac_reviews via SSH + psql c. UPDATE vaisseau_mere_ac.ps_ac_business (total_rating, total_reviews) | ||
| Pont PHP → Python pour la génération automatique de coverssynedre/archive/ac_coverwatch.py | automatonScribes | vaisseau-mère | stopped | Absorbé par le générateur de couvertures, qui traite désormais sa file lui-même. 2026-05-02 | Cron */5 event-driven : poll ps_ac_cms_extra.generate_cover=1 (flag posé par hook PHP) puis lance ac_coverinject. | ||
| Audit qualité + résolution automatique des pages publiques | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Worker invoqué par ac_audit (façade) ET ac_pipeline. Qualité technique des pages publiques. | ||
| + 1 counted, unnamed | |||||||
| 02 h | ac_seo_queue_feedersynedre/ac_seo_queue_feeder.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | |
| Décotes DLC Autosynedre/ac_cron_expiry_discounts.py | automatonCellériers | vaisseau-mère | stopped | — cause undocumented | Synchronise ps_specific_price pour les lots en fenêtre DLC 0-14j. Idempotent. Consommé par feature food-expiry (module ac_expiry). | ||
| Génère les sitemaps XML (produits, catégories, CMS, pages spéciales)synedre/archive/ac_sitemap.py | automatonTisserands | vaisseau-mère | stopped | Porté en TypeScript — la reconstruction du maillage interne est passée au moteur du site. 2026-05-03 | Génère les sitemaps XML (produits, catégories, CMS, pages spéciales) | ||
| Audit de sécurité des dépendances npm et pip | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Vigies (jeudi 2h) : audit sécurité dépendances npm + pip (CVE, versions obsolètes). | ||
| Pentest automatisé (agent Mitnick) — PREPROD UNIQUEMENT | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Pentest automatisé (agent Mitnick) — PREPROD UNIQUEMENT | ||
| + 1 counted, unnamed | |||||||
| 03 h | Lauds | Classifie le billing_mode des automates.synedre/ac_automate_billing_scan.py | skillCellériers | vaisseau-mère | disabled | — | Remplit sy_automates.billing_mode par analyse STATIQUE du code de chaque script (non-LLM — grep, aucun appel modèle). Catégories = MODE de facturation, pas le modèle (le modèle est dans la colonne cli_model) : |
| Automate de mise à jour de la documentation publique synedre.com.synedre/ac_doc_publish.py | conductNon classés | synedre | disabled | — | Principe FERME : assainissement + staging automatisés. Publication GATÉE par un humain. Cet automate ne touche JAMAIS sy_doc_chapter (le live) de lui-même (hors --activate qui est un geste humain délibéré). | ||
| Automate de staging des cicatrices publiques.synedre/ac_cicatrices_publish.py | conductNon classés | synedre | disabled | — | Principe FERME : assainissement + staging automatisés. Publication GATÉE par un humain. Cet automate ne rend JAMAIS rien public seul (insère active=0). | ||
| Résumé réactions /joursynedre/ac_daily_react_summary.py | skillNon classés | vaisseau-mère | disabled | — | Agrégat quotidien des réactions. | ||
| ac_note_mesuresynedre/ac_note_mesure.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| 04 h | Audit de pertinence + RÉCONCILIATION de statut des chantiers.synedre/ac_chantier_relevance_audit.py | conductNon classés | vaisseau-mère | disabled | — | Pour chaque chantier actif (archived_at IS NULL, status NOT IN {done,cancelled}) : 1. Heuristiques cheap (sans LLM) : - Toutes les tâches sont done/cancelled (≥1 done) → verdict 'done' - status='test' → verdict 'done' (fait, attend review/ship Alex) 2. | |
| Moteur d'optimisation SEO multilingue PAR PAGE (chantiersynedre/ac_seo_optimizer.py | skillNon classés | synedre | disabled | — | Pour chaque page d'entité (product/category/cms/special) × langue active, la spine exécute : snapshot (backup) → audit multi-dimensions → remédiation gatée → QA → statut (done) OU rollback (si QA KO). « 1 page faite à fond avant la suivante » (doctrine Alex). | ||
| Rêve nocturnesynedre/ac_dream.py | conductOracles | vaisseau-mère | disabled | — | Consolidation onirique mémoire (RAG/pgvector). | ||
| Audit dépendances automatesbin/scan-ts-deps.mjs | automatonHorlogers | vaisseau-mère | live | — | Horlogers (3h50, Renoir) : régénère ps_ac_automate_agents et ps_ac_automate_conduites depuis cues_json. NB : nom différent de ac_deps_audit qui est sécu npm/pip. | ||
| Sauvegarde chiffrée quotidienne des fichiers critiques du Synedresynedre/ac_backup.py | automatonHorlogers | vaisseau-mère | live | — | ac_backup.py — Sauvegarde chiffrée des fichiers critiques du Synedre | ||
| 05 h | Bilan de santé de Shyrkasynedre/ac_conscience_health.py | metaskillHorlogers | vaisseau-mère | believes it is alive | — | Phase 2 #182 : agrège proprioception(doc)+dette(backlog)+apprentissage(KPI)+automates(cron) en 1 verdict nocturne → sy_conscience_health + report ps_ac_daily_meet. Read-only. | |
| ac_netlinking_discover_contactssynedre/ac_netlinking_discover_contacts.py | conductNon classés | vaisseau-mère | believes it is alive | — | — undocumented | ||
| Battement de conscience de Shyrkasynedre/ac_conscience_tick.py | automatonHorlogers | synedre | live | — | Phase 4 #182 : orchestrateur unique — percevoir→soigner(Winnicott)→régénérer profond(gaté Mitnick)→proposer. Lock anti-runaway + kill-switch. Cron quotidien. | ||
| Le scanner d'entropie du Synedre (chantier #209 « L'Élagueur »).synedre/ac_elagueur.py | automatonHorlogers | vaisseau-mère | live | — | « Apprendre à Shyrka à se laver toute seule. » L'Ouroboros a une bouche (chaque session ajoute) ; ce module lui donne un intestin : il détecte des classes typées de crasse, les consigne dans vaisseau_mere_ac.sy_cruft_candidate, ET AGIT sur les classes dont l'innocuité est PROUVÉE à l'instant du geste. | ||
| ac_blog_reassort_fleetsynedre/ac_blog_reassort_fleet.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| 06 h | Prime | Auto-réparation doc gatée (Shyrka)synedre/ac_doc_autofix.py | automatonBâtisseurs | synedre | live | — | Phase 3 #182 : corrige SEULE les dead-refs déménagés sans ambiguïté dans harness/*.md (1 commit/run, réversible, capé). JAMAIS code/CLAUDE.md/--activate. active=0 = kill-switch. |
| Facturation Récurrentesynedre/ac_invoicing_recurring.py | automatonCellériers | vaisseau-mère | live | — | Émission des factures/avoirs récurrents (abonnements ac_subscription) à échéance. | ||
| Sync Bancairesynedre/ac_bank_sync.py | automatonCellériers | vaisseau-mère | live | — | Synchronisation quotidienne des transactions bancaires via providers (Powens pour BoursoBank). | ||
| Hygiène des profils Chrome de la box bucéphale.synedre/ac_bucephale_tab_hygiene.py | automatonHorlogers | vaisseau-mère | live | — | Rend MÉCANIQUE la doctrine écrite dans `documentation/BUCEPHALE_CHROME_RUNBOOK.md` §6, qui n'existait jusqu'ici que sous forme de prose — et qui a donc été violée deux fois en huit jours. | ||
| Rotation des fichiers .log dans automation/ (évite croissance illimitée)synedre/ac_log_rotate.py | automatonHorlogers | vaisseau-mère | live | — | Rotation des fichiers .log dans automation/ (évite croissance illimitée) | ||
| + 3 counted, unnamed | |||||||
| 07 h | ac_blog_relecturesynedre/ac_blog_relecture.py | automatonNon classés | T-004 | live | — | — undocumented | |
| ac_email_prospection_cronsynedre/ac_email_prospection_cron.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_glm_autonomy_heartbeatsynedre/ac_glm_autonomy_heartbeat.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_objectif_mesuresynedre/ac_objectif_mesure.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_rdv_stock_watchsynedre/ac_rdv_stock_watch.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| + 2 counted, unnamed | |||||||
| 08 h | Automate FinOps AE (Pacioli), chantier #212.synedre/ac_pacioli_automate.py | automatonCellériers | vaisseau-mère | live | — | — internal description | |
| ac_boamp_veillesynedre/ac_boamp_veille.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_fiscal_seuils_watchsynedre/ac_fiscal_seuils_watch.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_traitement_suivisynedre/ac_traitement_suivi.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| Digest SEO bi-hebdo Gauss (chantier #213).synedre/ac_gauss_seo_digest.py | automatonOracles | vaisseau-mère | live | — | Couche de LIVRAISON sur la sentinelle SEO existante (ac_seo_sentinel.py). NE duplique PAS le moteur SEO. Lit uniquement : - vaisseau_mere_ac.sy_seo_health_history (snapshots sentinelle) - vaisseau_mere_ac.ps_ac_gsc_data (GSC granulaire — vide à ce jour) | ||
| + 1 counted, unnamed | |||||||
| 09 h | Terce | ac_blog_queue_watchsynedre/ac_blog_queue_watch.py | automatonNon classés | vaisseau-mère | live | — | — undocumented |
| ac_blog_relais_publicationsynedre/ac_blog_relais_publication.py | automatonNon classés | T-004 | live | — | — undocumented | ||
| ac_foyer_energiesynedre/ac_foyer_energie.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_netlinking_outreachsynedre/ac_netlinking_outreach.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_prospection_roi_vigiesynedre/ac_prospection_roi_vigie.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| 10 h | ac_inbox_directsynedre/ac_inbox_direct.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | |
| Pousse les garde-fous PUBLIABLES vers le VPS synedre.synedre/ac_system_hook_sync_public.py | automatonNon classés | synedre | live | — | — internal description | ||
| Sentinelle d'intégrité doctrine ↔ enforcement (chantier #428).synedre/ac_audit_doctrine.py | automatonVigies | vaisseau-mère | live | — | Rend la règle « 1 doctrine = 1 hook » ([[feedback_doctrine_requires_enforcement_hook]]) VÉRIFIABLE en continu. Croise TROIS registres : | ||
| Génération Dictionnaire | automatonScribes | vaisseau-mère | stopped | — cause undocumented | Génération termes dictionnaire technique | ||
| Pipeline Centaure (Humain + IA) : génération d'articles blog | automatonScribes | vaisseau-mère | stopped | — cause undocumented | Pipeline Centaure (Humain + IA) : génération d'articles blog | ||
| 11 h | ac_social_queue_watchsynedre/ac_social_queue_watch.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | |
| Les garde-fous éteints « en attendant » quisynedre/ac_audit_extinctions_conditionnelles.py | automatonNon classés | vaisseau-mère | live | — | POURQUOI CE MODULE EXISTE (incident fondateur 2026-08-07) Le cron `ac_bucephale_system_health` était éteint depuis le 01/08, au motif que `ac_cron_wrapper` compterait ses WARN comme des crashs. | ||
| Veille Newsletterssynedre/archive/ac_veille_newsletters.py | skillNon classés | vaisseau-mère | stopped | Évincé lors de la bascule des tâches Python vers le moteur du site. 2026-05-03 | Front 4 Marco Polo : veille newsletters email (Medium, IndieHackers). Collecte quotidienne 5h UTC + synthèse IA samedi 6h30 UTC. | ||
| Rapport quotidien envoyé par email à 7h (Paris) | automatonOracles | vaisseau-mère | stopped | — cause undocumented | Rapport quotidien envoyé par email à 7h (Paris) | ||
| Audit schéma DB vs convention §NAMING | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Scan quotidien ps_ac_* : détecte violations règles 2/6/7/9/11/12 (pluriel, i18n, JSON métier, doublons). Chaque violation -> INSERT ps_ac_backlog debt_archi P0 (dédup). | ||
| + 1 counted, unnamed | |||||||
| 12 h | Sext | Auto-réparation doc gatée (Shyrka)synedre/ac_doc_autofix.py | automatonBâtisseurs | synedre | live | — | Phase 3 #182 : corrige SEULE les dead-refs déménagés sans ambiguïté dans harness/*.md (1 commit/run, réversible, capé). JAMAIS code/CLAUDE.md/--activate. active=0 = kill-switch. |
| Gate flotte : alerte si une box tenant prod n'asynedre/ac_audit_fleet_hardening.py | automatonVigies | vaisseau-mère | live | — | — internal description | ||
| Invariant DB-live « tout agent_codenamesynedre/ac_audit_agent_codename_naming.py | automatonVigies | vaisseau-mère | live | — | Né de la cicatrice #2231 (dette systémique nickname vs codename) : ps_ac_agents porte DEUX noms par entité — `codename` technique (orchestrator/backend) et `nickname` d'affichage (Atlas/Turing). 27 tables référencent un champ `agent_codename` qui mélange silencieusement les deux, SANS FK ni CHECK. | ||
| Miroir de Shyrka — drift doc↔codesynedre/ac_doc_drift_watch.py | automatonVigies | synedre | live | — | Veille nocturne read-only : mesure l'écart entre la doc (proprioception) et le code (corps réel). Écrit sy_doc_drift + 1 ligne backlog. Chantier #182 Phase 0. | ||
| Vigie de la page visite du Pape Léon XIV à Metz (28/09/2026).synedre/archive/ac_pape_metz_watch.py | automatonVigies | vaisseau-mère | live | — | Léa veut 4 places (2 adultes + 2 enfants). Au 22/06/2026 la page officielle https://metz.catholique.fr/pape-metz/ dit noir sur blanc : « À ce stade, inutile d'écrire pour demander à réserver une place. » Les modalités de participation y apparaîtront « dès que le programme officiel sera connu ». | ||
| 13 h | ac_prospection_roi_vigiesynedre/ac_prospection_roi_vigie.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | |
| Sentinelle anti-mort-silencieuse des hooks (chantier #421).synedre/ac_audit_hooks_db.py | automatonVigies | vaisseau-mère | live | — | Un hook câblé qui tape une DB morte fail-open → il tourne « à vide » sans erreur. C'est ainsi que l'injection de cicatrices est restée éteinte après la mort de MariaDB, laissant passer une confabulation. Cette sentinelle empêche que ça se reproduise. | ||
| Épreuve automatique pour les agents non testés depuis 7+ jourssynedre/archive/ac_drill_auto.py | metaskillBâtisseurs | vaisseau-mère | stopped | Évincé lors de la bascule des tâches Python vers le moteur du site. 2026-05-03 | Épreuve automatique pour les agents non testés depuis 7+ jours | ||
| Teste que le dernier backup est valide et restaurablesynedre/archive/ac_backup_test.py | automatonHorlogers | vaisseau-mère | stopped | Évincé lors de la bascule des tâches Python vers le moteur du site. 2026-05-03 | Teste que le dernier backup est valide et restaurable | ||
| 14 h | Sync embeddingssynedre/ac_embedding_sync.py | automatonOracles | vaisseau-mère | live | — | Réindexation pgvector des contenus. | |
| Vigie rétroactive : aucun échappement SQL maison quisynedre/ac_audit_sql_escape.py | automatonVigies | vaisseau-mère | live | — | CLASSE DE BUG COUVERTE Un réflexe MariaDB — « protéger » l'antislash en le doublant — appliqué à une base PostgreSQL, où l'antislash d'un littéral est DÉJÀ littéral (standard_conforming_strings = on). Doubler n'y protège rien : ça AJOUTE un antislash. Les colonnes étant TEXT, PG ne valide rien et la corruption s'accumule sans un bruit. | ||
| Fetch newsletter Medium (IMAP → JSON articles IA)synedre/archive/ac_email_fetcher.py | automatonScribes | vaisseau-mère | stopped | Maillon d'une chaîne morte — archivé avec le script qu'il alimentait. 2026-05-03 | Connexion IMAP Medium, extraction articles IA/ML/LLM en JSON | ||
| + 1 counted, unnamed | |||||||
| 15 h | None | Capteur de récidive de cicatrices (miss du recall).synedre/ac_cicatrice_repeat_detect.py | automatonOracles | vaisseau-mère | live | — | Prérequis au bornage du contexte injecté (feedback_glm_zai_context_cost) : on ne peut réduire ce qui est injecté SANS risque qualité que si un capteur détecte les miss du recall — les cas où une cicatrice pertinente existait mais n'a pas été servie, et l'erreur s'est reproduite. |
| Audit périodique des cicatrices P0/P1 sans dent.synedre/ac_audit_unguarded_scars.py | automatonVigies | vaisseau-mère | live | — | Chantier #380 (scar-to-guardrail-engine) : « aucune leçon P0/P1 sans garde-fou qui la rend impossible à refaire ». Ce script liste les cicatrices severity IN ('critical','high') avec guardrail_status='todo' — celles qui n'ont ni check mécanique (guardrail_status='enforced') ni justification explicite de non-mécanisabilité (guardrail_status='vigilance'). | ||
| Automate anti-hallucination : vérification des faits dans les articles | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Automate anti-hallucination : vérification des faits dans les articles | ||
| + 1 counted, unnamed | |||||||
| 16 h | Santé SYSTÈME de la box OMEN bucéphale.synedre/ac_bucephale_system_health.py | automatonNon classés | vaisseau-mère | live | — | Complément de `ac_bucephale_chrome_health` (qui ne regarde QUE les 2 Chrome CDP). Ici on surveille le SOCLE : pilote GPU, kernel/reboot en attente, mémoire, swap, disque, thermique. Cf [[reference_omen_pc_browser_ai_box]]. | |
| Audit de couverture SEO i18n MULTI-TENANT × MULTI-LANGUE.synedre/ac_audit_seo_i18n.py | automatonVigies | vaisseau-mère | live | — | Pour chaque tenant enrôlé (sy_seo_sentinel_target.enabled) × chaque langue active (ps_lang du tenant, hors FR) × chaque (entité, champ SEO), compte les 3 défauts : • manquant : pas de ligne traduite / champ vide • dupliqué : même valeur partagée par >1 entité active (signature corruption import ; catégories groupées par (parent,valeur) — sous-cat légitime sous N piliers) • français : la valeur… | ||
| Synchronise ps_ac_universal_faq → faq-data.json pour Nuxt SSR | automatonTisserands | vaisseau-mère | stopped | — cause undocumented | Synchronise ps_ac_universal_faq → faq-data.json pour Nuxt SSR | ||
| 17 h | Cron stub qui rafraîchitsynedre/ac_chantier_outcome_kpi_refresh.py | automatonOracles | vaisseau-mère | live | — | Ce que ce script FAIT (MVP, honnête sur son périmètre) : - Liste les chantiers actifs (archived_at IS NULL) avec outcome_kpi renseigné et outcome_reached_at encore NULL (KPI pas encore confirmé atteint). | |
| Health check infrastructure au démarrage de session | automatonHorlogers | vaisseau-mère | stopped | — cause undocumented | Health check infrastructure au démarrage de session | ||
| Hygiène Blog | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Vérification qualité articles blog | ||
| 18 h | Vespers | Auto-réparation doc gatée (Shyrka)synedre/ac_doc_autofix.py | automatonBâtisseurs | synedre | live | — | Phase 3 #182 : corrige SEULE les dead-refs déménagés sans ambiguïté dans harness/*.md (1 commit/run, réversible, capé). JAMAIS code/CLAUDE.md/--activate. active=0 = kill-switch. |
| ac_delegationsynedre/ac_delegation.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_prospection_roi_vigiesynedre/ac_prospection_roi_vigie.py | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| Miroir de Shyrka — drift doc↔codesynedre/ac_doc_drift_watch.py | automatonVigies | synedre | live | — | Veille nocturne read-only : mesure l'écart entre la doc (proprioception) et le code (corps réel). Écrit sy_doc_drift + 1 ligne backlog. Chantier #182 Phase 0. | ||
| Vigie de la page visite du Pape Léon XIV à Metz (28/09/2026).synedre/archive/ac_pape_metz_watch.py | automatonVigies | vaisseau-mère | live | — | Léa veut 4 places (2 adultes + 2 enfants). Au 22/06/2026 la page officielle https://metz.catholique.fr/pape-metz/ dit noir sur blanc : « À ce stade, inutile d'écrire pour demander à réserver une place. » Les modalités de participation y apparaîtront « dès que le programme officiel sera connu ». | ||
| + 1 counted, unnamed | |||||||
| 19 h | Revue Élagage Cicatrices (Renoir)synedre/ac_elagage_review.py | automatonNon classés | vaisseau-mère | live | — | Revue périodique Article 25 : pilote la machine ac_elagage (backfill/acquired/dead), remonte les plaies non cicatrisées (resolved=0 ET recall>=50) à l'humain, verse en mémoire longue. Déterministe, zéro LLM. Chantier #1578. | |
| Vigie « le tag de mesure est-il RÉELLEMENT servi,synedre/ac_tag_coverage_sentinel.py | automatonNon classés | vaisseau-mère | live | — | — internal description | ||
| Scanner de leads entrants depuis les bookings Calendly.synedre/ac_lead_scan.py | automatonTisserands | vaisseau-mère | live | — | — internal description | ||
| Cache local des images Instagram (URL CDN expire ~24h)synedre/archive/ac_instagram_image_cache.py | automatonVigies | vaisseau-mère | stopped | Emporté par la refonte du stockage des publications Instagram. 2026-05-03 | — internal description | ||
| + 1 counted, unnamed | |||||||
| 20 h | Purge et rétention des events sy_agent_event (chantier #544,synedre/ac_event_retention.py | automatonHorlogers | vaisseau-mère | live | — | La denylist (ac_event_persistor, tâche #123842) arrête l'hémorragie à l'écriture. Ce module soigne l'existant : purge par lots + rétention continue par ancienneté. | |
| Link Doctorsynedre/archive/ac_link_doctor.py | automatonVigies | vaisseau-mère | stopped | Porté en TypeScript — la reconstruction du maillage interne est passée au moteur du site. 2026-05-03 | Scan 404 liens internes et externes | ||
| + 2 counted, unnamed | |||||||
| 21 h | Compline | ac_social_mesure --clicssynedre/ac_social_mesure.py | automatonNon classés | vaisseau-mère | believes it is alive | — | Clics des réseaux vers le blog, comptés dans les journaux nginx du serveur du blog. Sans LLM. |
| Collecteur quotidien des métriques memory/ et MEMORY.md.synedre/ac_memory_metrics.py | automatonHorlogers | vaisseau-mère | live | — | Collecte : - Nombre de fichiers .md dans memory/ - Taille totale (Ko) - Nombre de lignes de MEMORY.md - Liens morts / orphelins (via detect_dead_links.py) | ||
| ac_cover_nightlysynedre/ac_cover_nightly.py | automatonNon classés | T-004 | live | — | — undocumented | ||
| ac_social_mesure --postssynedre/ac_social_mesure.py | automatonNon classés | vaisseau-mère | live | — | Audience des posts publiés (J+1/3/7/30), lue en lecture seule dans bucéphale. Sans LLM. | ||
| Détecte les patterns récurrents dans sy_tache_iterationsynedre/ac_pattern_detector.py | automatonOracles | vaisseau-mère | live | — | Phase UI-10.5 chantier synedre-os-cockpit. Pattern Hermes "autonomous skill creation". | ||
| 22 h | ac_translate_blog_nightlysynedre/ac_translate_blog_nightly.py | automatonNon classés | vaisseau-mère | believes it is alive | — | Traduit chaque nuit les articles de blog qui manquent dans les langues actives du tenant. Lit les langues en base, ne traduit jamais vers la langue source, refuse une sortie qui n'est pas dans la langue attendue, et prend un dump de ps_cms_lang avant d'écrire. | |
| Auto-armement des chantiers prioritaires — gaté par l'audit de pertinence.synedre/ac_chantier_auto_arm.py | automatonBâtisseurs | vaisseau-mère | live | — | Arbitrage Alex 2026-07-17 (chantier autonomie-nuit-reelle #464) : « auto-armer les P0 du périmètre autorisé », puis « il faut quand même vérifier si les chantiers sont toujours d'actualité ». | ||
| Sentinelle anti-dérive du système de modules CodeMyShop.synedre/ac_module_audit.py | automatonVigies | vaisseau-mère | live | — | Vérifie que la DOCTRINE module ↔ CODE ne dérive pas, sur toute la flotte `codemyshop/{community,enterprise,core}/modules/`. Symétrique des autres audits (ac_taxonomy_sentinel, ac_lexicon_audit) : DRY-RUN strict, lecture seule, exit 0 sain / 1 drift, email d'alerte auto sur drift. | ||
| Moteur d'entraînement spartiate du Synedre (épreuves agents)synedre/ac_drill.py | metaskillBâtisseurs | vaisseau-mère | stopped | — cause undocumented | Moteur d'entraînement spartiate du Synedre (épreuves agents) | ||
| 23 h | ac_blog_visuels_nightlysynedre/ac_blog_visuels_nightly.py | automatonNon classés | vaisseau-mère | believes it is alive | — | — undocumented | |
| ac_blog_visuels_cronsynedre/ac_blog_visuels_cron.py | automatonNon classés | T-017 | live | — | — undocumented | ||
| Pipeline cicatrices unifiésynedre/archive/ac_cicatrice.py | automatonOracles | vaisseau-mère | stopped | Mort en production sans bruit — constaté lors d'un balayage de la flotte. 2026-05-03 | Façade orchestrateur subprocess (pattern accepté) : commande all = harvest + sync. Workers gardent leur identité CLI. | ||
| Matomo Check | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Vérification santé Matomo analytics | ||
| ∞ | Every hour | Relevé périodique du forfait Z.ai (GLM), via scraping du | automatonCellériers | vaisseau-mère | believes it is alive | — | — internal description |
| ac_glm_throttle | automatonNon classés | vaisseau-mère | believes it is alive | — | — undocumented | ||
| ac_system_email_router | automatonNon classés | vaisseau-mère | believes it is alive | — | — undocumented | ||
| Acquisition tenant — recherches validées | automatonNon classés | vaisseau-mère | believes it is alive | — | Recherches explicites en file tenant : tarif préalable, un appel borné, sources publiques, aucun import automatique ni email. | ||
| Organe de Délibération | skillOracles | vaisseau-mère | believes it is alive | — | Moteur de confrontation multi-agents (sy_deliberation*). Kill-switch : active=0 désactive instantanément. Contrat sécurité : aucune écriture hors sy_deliberation*, aucune action déclenchée. | ||
| Composition du brouillon de réponse WhatsApp (Turing, | skillNon classés | vaisseau-mère | disabled | — | Calque de synedre/ac_atlas_reply_compose.py (compose_client_reply) mais côté AMONT : déclenché sur un message ENTRANT (ps_ac_inbox_whatsapp, direction='in'), rédige un brouillon tone-aware et l'écrit sur la même ligne (draft_text / draft_model / draft_status='drafted'). | ||
| Worker async Atlas : enrichit les events négo non traités. | conductNon classés | vaisseau-mère | disabled | — | Pour chaque sy_negociation_event WHERE atlas_processed_at IS NULL : 1. Charge le contexte négo (qualif_json, chantier lié, 5 derniers events). 2. Spawne Atlas via node-pty ([[feedback_agent_invocation_node_pty]] — JAMAIS claude -p). 3. Parse la réponse : QUALIF_DELTA + PROPOSED_ACTIONS. 4. Persiste atlas_extraction_json + atlas_processed_at. 5. | ||
| Traitement des revues doc externes (regard des autres) | skillScribes | vaisseau-mère | disabled | — | Chantier #192 : dépile au max 1 review submitted/run — spawn claude -p sandbox anti-injection, parse verdict sélectif, déclenche deep_regen --no-activate si overall_valid=true. active=0 = kill-switch (livré DÉSARMÉ, armer après QA). Cap : 1 deep_regen / slug / 24h. Lock /tmp/ac_doc_external_review.lock. | ||
| Worker HÔTE qui draine la queue sy_brainstorm_job. | skillScribes | vaisseau-mère | disabled | — | — internal description | ||
| Automate cron : aligne mot-à-mot la bibliothèque en tâche de fond. | automatonBâtisseurs | vaisseau-mère | live | — | Alex veut que la synchro karaoké soit bonne D'OFFICE quand il joue un morceau — pas un bouton à cliquer. Ce script balaie la bibliothèque soulseek, cherche les paroles synchronisées (lrclib.net) des pistes pas encore alignées, et lance l'alignement mot-à-mot WhisperX (bucéphale, cf `ac_lyrics_align.py`) pour celles qui en ont. | ||
| Orbite QA — auto-clôture des chantiers en phase test (chantier #435 / T1, Turing). | automatonBâtisseurs | vaisseau-mère | live | — | — internal description | ||
| Rejeu premium des tâches haute-altitude basculées (travail | automatonBâtisseurs | vaisseau-mère | live | — | Quand le forfait Claude est épuisé, run_with_failover bascule TOUT sur une marque de secours et flague replay_on_reset=1 les tâches HAUTE-ALTITUDE (sy_chantier_tache, cf _flag_replay_if_high_altitude). Cet automate les rejoue sur Claude (premium) une fois le forfait réinitialisé. | ||
| Spawn Atlas | metaskillBâtisseurs | vaisseau-mère | live | — | Lanceur de sessions Atlas autonomes. | ||
| Worker daemon Phase UI-2 chantier synedre-os-cockpit. | metaskillBâtisseurs | vaisseau-mère | live | — | Pick une (ou N) sy_task_exec WHERE status='pending' ORDER BY date_add LIMIT N, mark running, spawn process selon template, stream stdout vers output_log, mark completed/failed selon exit code. | ||
| Cost Alert — Vérifie le cumul mensuel API Anthropic vs budget configuré. | automatonCellériers | vaisseau-mère | live | — | Si le cumul dépasse 80 % du budget mensuel (sy_cost_budget), envoie un email d'alerte interne UNE seule fois par mois via le flag alerted_at. | ||
| Producteur du cache de la jauge d'usage CLI | automatonCellériers | vaisseau-mère | live | — | Seul à payer le scan des transcripts (~50 s) et à écrire synedre/state/cli-usage.json. La voie de lecture du hub (daemon /cli-usage, --cache-only) ne scanne plus : elle se faisait couper a 25 s avant d'ecrire, le cache restait fige (2026-09-04 au 2026-09-09) et /hub/bucephale affichait la box eteinte. | ||
| Alerte si /tmp/atlas-inbox-poll.lock > 10min | automatonHorlogers | vaisseau-mère | live | — | ac_atlas_lock_watchdog.sh — alerte si /tmp/atlas-inbox-poll.lock > 10min | ||
| Autonomie tick — seeder quotidien des chantiers mode_auto (autonomie-v2 #178). | automatonHorlogers | vaisseau-mère | live | — | Le worker (ac_task_worker) self-chaîne DANS un travail (maybe_chain_next_auto_task), mais rien n'AMORCE le pipeline : un travail mode_auto avec des tâches todo et aucun run jamais créé reste dormant. Ce tick comble le cold-start : pour chaque chantier mode_auto, il seed un `sy_task_exec` pending pour la prochaine tâche ÉLIGIBLE de chaque travail actif sans run en cours. | ||
| Garde-fou cache SWR ↔ Redis partagé — détecte le "dump pm2 à env nu". | automatonHorlogers | vaisseau-mère | live | — | — internal description | ||
| Génère un rapport de monitoring JSON complet. | automatonHorlogers | vaisseau-mère | live | — | Collecte 17 sections (infra, SSL, backups, HTTP, automates, SEO, bots, etc.) et écrit le résultat dans core/server/data/monitoring-data.json + .docker-app/server/data/monitoring-data.json. | ||
| Runaway Detector — Auto-pause des tâches bloquées (>3h sans update ou >150k tokens). | automatonHorlogers | vaisseau-mère | live | — | Détecte les tâches status='doing' qui dépassent les seuils de sécurité : - date_upd plus ancienne de 3h (tâche silencieuse / bloquée) - actual_tokens > 150 000 (consommation excessive) | ||
| SRE Alert — Alertes email pour échecs rollback et cicatrices critiques. | automatonHorlogers | vaisseau-mère | live | — | Surveille sy_lovelace_review_run (NO_GO + rollback_done) et ps_ac_cicatrices (critical/high non résolues), envoie une alerte email interne via ac_email_client. | ||
| Synchronise sy_automates avec le crontab réel. | automatonHorlogers | vaisseau-mère | live | — | Problème (chantier visibilité crons, 2026-07-22) : la colonne ps_ac_automates.schedule est un label manuel qui dérive du crontab réel (NULL pour 44/75 recurring → faux « cron manquant »). Alex veut que l'UI reflète la vérité du crontab vivant, pas un label qui pourrit. | ||
| Tick orchestrateur des OBJECTIFS autonomes. | automatonHorlogers | vaisseau-mère | live | — | Miroir de ac_autonomie_tick, un cran au-dessus : là où le tick chantier seede des tâches, le tick objectif DÉCOMPOSE des buts et SUIT leur avancement. Il n'exécute rien lui-même — l'exécution des chantiers engendrés reste au pipeline existant (auto_arm → ac_autonomie_tick → worker → QA → auto_ship). | ||
| ac_boite_tri_interne | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_communaute_file | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_communaute_pilotage | conductNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_communaute_veille | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_harness_sentinel | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_note_mesure_push | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_ovh_vps3_stock_watch | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_pool_heartbeat | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_quota_history | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_quota_vigie | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_rdv_rappel | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_reactor_sync_public | automatonNon classés | synedre | live | — | — undocumented | ||
| ac_renoir_incident | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_site_audit | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_site_secrets_harvest | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_social_publish | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_tentacule_auto_reponse | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_tentacule_reconcile | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_tentacule_traitement | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_veille_fil_deal | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_whatsapp_inbox_alert | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| ac_worker_watchdog | automatonNon classés | vaisseau-mère | live | — | — undocumented | ||
| Audit de READINESS (complétude autonomie) des chantiers. | skillNon classés | vaisseau-mère | live | — | ORTHOGONAL à ac_chantier_relevance : - relevance → « ce chantier est-il encore d'actualité / déjà fait ? » - readiness → « ce chantier est-il COMPLET et exécutable en autonomie ? » | ||
| Audit zombies active↔crontab | automatonNon classés | vaisseau-mère | live | — | Vigie FinOps (non-LLM, lecture seule) : détecte sy_automates.active=1 absent du crontab (zombie) et crons actifs non enregistrés en DB (orphelin). Alerte seule — jamais d'activation/désactivation auto (décision humaine). */30 min via wrapper. Axe 3 FinOps #505. | ||
| Drain unifié des erreurs cron connues (chantier | automatonNon classés | vaisseau-mère | live | — | LA MOITIÉ MANQUANTE DE REPAIR_MAP. ``ac_cron_wrapper.py`` ne répare qu'INTRA- CYCLE : au moment exact où un cron crashe. Les erreurs accumulées dans ps_ac_cron_errors ne sont JAMAIS re-scrubbées. Mesuré le 2026-08-13 : 3280 lignes (auto_fixed=0 AND retry_success=0 AND deactivated=0), dont 31 module_missing réparables par un fix EXISTANT mais jamais rejoué hors-cycle. | ||
| Détecteur de silence des crons (Renoir, chantier | automatonNon classés | vaisseau-mère | live | — | L'AUTRE MOITIÉ du battement. `ac_cron_beat.py` PROUE qu'un cron a tourné en écrivant `sy_cron_heartbeat.last_beat_at` ; ce module LIT ce registre et déclare mort tout cron dont le silence dépasse son `max_silence_s`. Sans lui, la table est un cimetière que personne ne visite : un cron qui meurt en silence y reste muet pour toujours. | ||
| Harness de falsification pour stratégies crypto (paper trading). | automatonNon classés | vaisseau-mère | live | — | Ce module ne trade pas et ne le fera jamais. Il répond à UNE question, mécaniquement : « cette stratégie a-t-elle un edge, après frictions, sur des données que personne ne connaissait à l'avance ? » Tant que la réponse n'est pas un oui mesuré, aucun capital réel n'a de raison d'exister. | ||
| Ingestion des messages laissés sur la messagerie. | automatonNon classés | vaisseau-mère | live | — | Chantier #1574 permanence-vocale-ia. | ||
| La relève des messages vocaux est-elle vivante ? | automatonNon classés | vaisseau-mère | live | — | ac_permanence_vm_lock_watchdog.sh — la relève des messages vocaux est-elle vivante ? | ||
| Le poll Renoir est-il vivant ? | automatonNon classés | vaisseau-mère | live | — | ac_renoir_lock_watchdog.sh — le poll Renoir est-il vivant ? | ||
| Pousse les skills PUBLIABLES de ac_hub vers le VPS synedre. | automatonNon classés | synedre | live | — | — internal description | ||
| Préparation RDV Calendly | automatonNon classés | vaisseau-mère | live | — | Réservation Calendly rattachée à un démarchage parti → PDF de préparation à la charte AE, envoyé à Alexandre seul. Sans LLM. | ||
| Releve de boite cloisonnee | automatonNon classés | vaisseau-mère | live | — | Ingestion deterministe d'une boite privee vers un schema separe et chiffre. Zero LLM, zero emission : ce script ne sait pas envoyer. Les pieces jointes passent un gate antivirus avant toute lecture, et la base refuse de les reputer sures autrement. | ||
| Renoir Escalade — un incident déclenché passe la main à Atlas. | automatonNon classés | vaisseau-mère | live | — | Chantier #1571 renoir-dispatch-vigies, travail #1988 (triage-trois-niveaux), critère 4 seul. | ||
| Vigie de l'assistant IA : questions restées sans bonne réponse | automatonNon classés | vaisseau-mère | live | — | Lit ps_ac_chatbot_ai_log sur chaque tenant de la flotte ; email groupé à Alexandre des nouvelles questions unanswered / nothing_found / unavailable. Aucun LLM. Exclut les questions de la recette (rapports automation/state/chatbot_ia_recette/) et signale une fois les cas rouges de la recette de nuit, avec diagnostic. | ||
| Vigie des 500 d'API sur toute la flotte Nuxt. | automatonNon classés | vaisseau-mère | live | — | — internal description | ||
| Alerte fondateur sur accumulation proposals pending. | automatonOracles | vaisseau-mère | live | — | Seuil : si >= PENDING_THRESHOLD proposals en status='pending' au moment du check, envoie un email récapitulatif (1× max par heure — cool-down via state file). | ||
| Angles morts doc de Shyrka | automatonOracles | vaisseau-mère | live | — | Phase 5 #182 : détecteur de complétude — corps(façades+tables sy/cs) − couverture(harness) = angles morts, regroupés par famille → sy_doc_coverage + dimension couverture du bilan. Read-only. Tourné par ac_conscience_tick. | ||
| Indexe le brain/ Zettelkasten dans sy_brain_note (PG). | automatonOracles | vaisseau-mère | live | — | Source de vérité : `/home/ubuntu/brain/{permanent,inbox,moc,daily,fleeting}/*.md`. Sync incrémental : compare mtime fichier vs DB, UPSERT si différent. Supprime les rows dont le path n'existe plus. | ||
| Indexe les sessions Claude Code (.jsonl) dans sy_claude_session. | automatonOracles | vaisseau-mère | live | — | Walk `~/.claude/projects/*/` (filtrable via --project), parse first+last line de chaque .jsonl pour extraire metadata (timestamp, session_id, git_branch, version, first_prompt, last_prompt, message_count), UPSERT. | ||
| Indexe les skills .claude/skills/<name>/SKILL.md dans sy_skill. | automatonOracles | vaisseau-mère | live | — | Phase UI-5 chantier synedre-os-cockpit. Pattern décalqué de ac_brain_index.py. | ||
| Le MOTEUR de la boucle d'auto-optimisation (#550, étape 2). | automatonOracles | vaisseau-mère | live | — | À la clôture d'un chantier `auto_analyse=true`, on relit son flux (sy_agent_event) et ses runs (sy_task_exec), on détecte les FRICTIONS de workflow, et on alimente le backlog AGRÉGÉ `sy_workflow_optimization` — 1 ligne par pattern, cross-chantier, priorisé par impact_score. C'est l'automatisation de l'analyse manuelle qui a produit les fixes du 2026-07-21 (cold-start, retry, budget, search_path). | ||
| ═══════════════════════════════════════════════════════════════════════════ | automatonOracles | vaisseau-mère | live | — | ═══════════════════════════════════════════════════════════════════════════ | ||
| Régénération profonde autonome (Shyrka) | conductScribes | synedre | live | — | Phase 4 #182 : spawn Claude headless → réécrit chapitre doc dérivé → commit → stage → gate Mitnick → activate public auto. active=0 = kill-switch (OFF à la livraison, 1ère mise à feu = geste Alex). | ||
| Exporte les tokens MCP du .env racine dans l'environnement du shell. | automatonTisserands | vaisseau-mère | live | — | Exporte les tokens MCP du .env racine dans l'environnement du shell. | ||
| Fetch + scan des MÉDIAS ENTRANTS WhatsApp | automatonTisserands | vaisseau-mère | live | — | — internal description | ||
| Poll inbox Atlas | automatonTisserands | vaisseau-mère | live | — | Déclencheur Atlas sur emails entrants. | ||
| Remonte le statut SEO MANUEL posé depuis le hub | automatonTisserands | vaisseau-mère | live | — | Chantier #348 (« statut SEO manuel », option A avec sync). Le hub permet à un employé de marquer à la main qu'une entité (produit/catégorie/cms/blog) est déjà optimisée SEO + par quelle source (api/cli/mcp/mixte) — cf `codemyshop/core/server/api/bo/seo-status.{get,post}.ts`. Ce flag vit dans la DB du tenant (`cs_seo_status`), pas dans le hub central. | ||
| Réconcilie le dossier Sent → ps_ac_inbox_emails. | automatonTisserands | vaisseau-mère | live | — | PROBLÈME (cicatrice 2026-07-10) : une réponse envoyée à un client ne mettait pas à jour l'email ENTRANT correspondant. `ps_ac_inbox_emails.status` restait 'new' même après une vraie réponse → le scan de standup affichait « NON traité » à tort (un flag secondaire pris pour la réalité, alors que la vérité = le dossier Sent). | ||
| Sync bidirectionnelle cs_client_request ↔ sy_chantier_tache. | automatonTisserands | vaisseau-mère | live | — | — internal description | ||
| Sync inbox IMAP | automatonTisserands | vaisseau-mère | live | — | Synchronisation des emails entrants OVH. | ||
| Synedre/ac_nightingale_escalate.py — Relance escaladante jusqu'au forward vers Atlas. | automatonTisserands | vaisseau-mère | live | — | Chantier #767. `ac_nightingale.py` DÉTECTE les boucles ouvertes et envoie un digest 2×/j ; ce module les POURSUIT. Le digest est une photo — il alerte sans rien refermer, et le nombre de fuites monte cycle après cycle. Ici, chaque demande client non traitée relance Alexandre avec un ton qui s'aggrave, jusqu'à ce qu'elle soit prise en charge. | ||
| Detecteur de tâches bloquées + auto-spawn Atlas. | automatonVigies | vaisseau-mère | live | — | Scanne toutes les tâches status='iterating' depuis > STUCK_DELAY_MIN minutes, compte les tentatives déjà effectuées (sy_atlas_email source_type='stuck_task'), insère une row sy_atlas_email et déclenche bin/spawn-fix-worker.py en subprocess détaché si attempts_done < MAX_ATTEMPTS. | ||
| chantier-live | conduct | in-house | liturgie.etat_undefined | — | Lance un chantier MAINTENANT et le mène jusqu'à done sans intervention, flux au terminal, dossier de review preprod à la fin. Quand on ne veut pas attendre la nuit. | ||
| chantier-live | conduct | in-house | liturgie.etat_undefined | — | Lance un chantier MAINTENANT et le mène jusqu'à done sans intervention, flux au terminal, dossier de review preprod à la fin. Quand on ne veut pas attendre la nuit. | ||
| revue-interpool | conduct | in-house | liturgie.etat_undefined | — | Passe de revue des pools vivants depuis un bras dédié : lire les autres bras sans y écrire, qualifier l'usure des agents, les cicatrices et les gestes risqués, distiller les leçons, et renvoyer chaque constat retenu par la messagerie interpool. Colbert juge. | ||
| serveur-client | conduct | in-house | liturgie.etat_undefined | — | Mettre en service le VPS dédié d'un client qui vient d'être livré et y déménager sa préproduction depuis le serveur tampon : premier accès, socle, migration, DNS, flotte. Dès qu'on dit « mets en place le nouveau serveur » ou « transfère la préprod ». | ||
| Traitement des revues doc externes (chantier #192). | conductNon classés | synedre | stopped | — cause undocumented | Feature « Le regard des autres » : dépile les reviews soumises par l'humain-centaure (réponse d'un modèle externe portée depuis l'extérieur du pipeline), les évalue via un claude -p sandboxé anti-injection, et — si le verdict est valide — SIGNALE la régén au tick (DÉCOUPLÉ 2026-06-07, plus de deep_regen inline). | ||
| Synchronisation des rendez-vous Calendly vers la DB | automatonOracles | vaisseau-mère | stopped | — cause undocumented | Synchronisation des rendez-vous Calendly vers la DB | ||
| Cover Generator Cron | automatonScribes | vaisseau-mère | stopped | — cause undocumented | Traite la queue ps_ac_covergen_queue : genere covers blog (Pexels/Unsplash) et SCP vers VPS tenant | ||
| Génération descriptions produit via Claude CLI (polling queue) | skillScribes | vaisseau-mère | stopped | — cause undocumented | Génération descriptions produit via Claude CLI (polling queue) | ||
| Modération IA des commentaires blog (agent Socrate) | automatonScribes | vaisseau-mère | stopped | — cause undocumented | Modération IA des commentaires blog (agent Socrate) | ||
| Orchestrateur de publication sociale automatisée (LinkedIn, X, FB, IG) | automatonScribes | vaisseau-mère | stopped | — cause undocumented | Orchestrateur de publication sociale automatisée (LinkedIn, X, FB, IG) | ||
| Redaction IA Cron | automatonScribes | vaisseau-mère | stopped | — cause undocumented | Traite ps_ac_redaction_queue : Claude CLI redige articles blog + FAQ | ||
| Écriture descriptions produit directement en DB via Claude CLI | automatonScribes | vaisseau-mère | stopped | — cause undocumented | DÉSACTIVÉ 2026-04-08 — doublon de ac_productgenius (race condition queue : pas de claim/lock dans ps_ac_product_ai_queue). productgenius respecte le contrat module ac_smartproducts via API. | ||
| ac_scrap_mister_turbo_cron | automatonTisserands | vaisseau-mère | stopped | Coupé pendant un réimport sélectif de catalogue — la reprise est un geste décidé, pas un redémarrage automatique. 2026-08-06 | — undocumented | ||
| AC Uptime Monitor — clients prod | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Check HTTP des sites clients en production toutes les 3 min, alerte email après 2 fails consécutifs (=6min de prod down). Source: ps_ac_client_vps WHERE purpose=production AND active=1. | ||
| Détecte les concepts utilisés dans les articles mais absents du dictionnaire | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Détecte les concepts utilisés dans les articles mais absents du dictionnaire | ||
| Surveillance emails clients en temps réel, détection P0 | automatonVigies | vaisseau-mère | stopped | — cause undocumented | Surveillance emails clients en temps réel, détection P0 | ||
| + 8 counted, unnamed | |||||||
23 runs carry a name tied to one client: counted here, not named. Once those automata take a tenant as an argument instead of being written for a single one, they will show up on their own.
81 operational conducts
Each conduct is a versioned file: the exact procedure, the guardrails, the order of moves. 181 are written, re-read from the repository every fifteen minutes.
Filter by tag
audit-api-guards
Audits the authentication guards on API routes: which writes are reachable without credentials, and which guards exist but guard nothing. Replays the 2026-08-17 inventory (79 bare routes + 7 bypassable guards). Run it before opening a route to the public, after adding an endpoint, or whenever security is in doubt.
Updated — 13 Oct 2026
audit-doc
Python docstring debt audit over synedre/: measures coverage (module / public def / model) by exact AST. Non-blocking mirror of the docstring-required hook. Read-only.
Updated — 13 Oct 2026
audit-doctrine
Doctrine ↔ enforcement audit: cross-checks ps_ac_doctrine against the hooks actually present and their settings.json wiring. Detects orphan doctrines, dormant hooks, unguarded debt. Read-only.
Updated — 13 Oct 2026
audit-hard-floor
Anti-rot audit of the immutable P0 whitelist (hard_floor_p0.yaml): checks that every path and section of the manifest still exists. Catches the drift when a P0 file is renamed.
Updated — 13 Oct 2026
audit-i18n-slugs
i18n SEO audit of synedre.com: EN↔FR key parity, EN slugs actually written in English, consistency of the map. Run it before any deploy touching pages, i18n or routing.
Updated — 13 Oct 2026
audit-lexicon
Anti-drift audit of the sy_lexicon lexical registry: missing DB CHECKs, diverging code enums, forbidden synonyms in Drizzle. Read-only, exit 0 healthy / 1 drift.
Updated — 13 Oct 2026
audit-modules
Anti-drift audit of CodeMyShop modules (community + enterprise): manifest, edition ↔ location, table regime, idempotent install.sql, vertical placement. Read-only.
Updated — 13 Oct 2026
audit-sql-escape
Retroactive watch over hand-rolled SQL escaping: detects any backslash doubling against a PostgreSQL target (silent corruption) and measures manual-escaping debt with a ratchet. Read-only, exact AST.
Updated — 13 Oct 2026
bank
Reads bank accounts and transactions: balances, unreconciled entries, sync health. Read-only through the ac_bank façade — the sync runs on cron, and restarting it needs Alex's go-ahead.
Updated — 13 Oct 2026
boucles-client
Client email loops left open (message received without a reply), and reply drafts on demand. Nothing is sent: drafts wait for Alex's review.
Updated — 13 Oct 2026
chantier
Steering of Synedre chantiers (1 chantier = N works): dashboard, drill-down to work then task, atomic creation with skeleton. Use it whenever a chantier is opened, tracked or moved forward. `--auto` mode, post-explode audit, `--auto-run` and CLI verbs in references/.
Updated — 13 Oct 2026
chantier-audit
READINESS audit of chantiers: spots the ones too vague to be finished autonomously, scores them, enriches them (--enrich), disarms those armed by mistake. Feeds the hard auto_arm gate.
Updated — 13 Oct 2026
chantier-live
Starts a project NOW and drives it through to done with no intervention, following the flow in the terminal. Ends with the preprod review file. For when waiting for the night autonomy window is not an option.
Updated — 13 Oct 2026
cicatrices-publish
Publishes the curated PUBLIC scars of synedre.com: selection, P0 sanitisation, adversarial review by Mitnick, deploy plus leak scan. Never a client name, an IP or a secret exposed.
Updated — 13 Oct 2026
clone
Parity loop between a tenant's staging and its LIVE site: lists the missing features, seeds the trivial DB sections, opens a chantier for the rest. ⚠️ Nothing to do with /clone-site.
Updated — 13 Oct 2026
clone-site
Generates the "access & server details" intake protocol needed to clone a client's existing site. ⚠️ Nothing to do with /clone (staging ↔ live parity for a tenant already in place).
Updated — 13 Oct 2026
cmd-une-ligne
When a command has to be typed by Alex directly: make it copyable in a single gesture — one line, under the terminal width, arguments derived rather than spelled out. As soon as you write "paste this" or offer a leading exclamation mark.
Updated — 13 Oct 2026
cocon-linkmap-audit
Audits the internal linking of a tenant's category semantic cocoons (upward breadcrumb, downward subcategoryPills, sibling cross-links, orphan id_category_default). Read-only, fixes nothing.
Updated — 13 Oct 2026
compte-tiers
Créer un compte sur un site tiers (Bucéphale ou Shyrka) sans jamais voir ni saisir le mot de passe : façade --create puis --fill. Dès qu'un agent s'apprête à s'inscrire, ouvrir un compte ou choisir un mot de passe sur un site externe.
Updated — 13 Oct 2026
context-status
State of the current session's context: tokens spent, green/amber/red zone, and what to change in your method before saturation. Use it when a session drags on, or before committing to a large piece of work.
Updated — 13 Oct 2026
covers-categorie
Illustre les catégories d'un tenant : une image par catégorie tirée de son SEO (Gemini via bucéphale) et un alt écrit pour chaque marché, publiés sous la cible de la flotte. Piliers d'abord, puis enfants par lots.
Updated — 13 Oct 2026
crawlers
Analyses bot hits (bot-hits.json) and produces a report: crawlers seen, frequency, targeted paths, anomalies. To understand who crawls a site, and at what pace.
Updated — 13 Oct 2026
deploy
Puts one of the house sites online (synedre-os, codemyshop, alexandrecarette) or a tenant staging: pre-flight, return to trunk, deploy, live proof. Use it whenever something has to be published. ⚠️ A client's PRODUCTION goes through ./ship, never through here.
Updated — 13 Oct 2026
devis
Établir le devis d'un prospect à la charte : une page de décision (lots, prix, échéancier, Bon pour accord) et ses annexes obligatoires A–D tirées des modèles en base, rendu regardé avant d'être montré. Quand une négociation arrive au devis, ou qu'un devis envoyé doit être complété.
Updated — 13 Oct 2026
dictionnaire
Adds terms to the published technical dictionary, with definitions written for the head of a small business rather than for an engineer. Argument: the words to add.
Updated — 13 Oct 2026
doc-tech
Generates or refreshes a piece of technical documentation (subsystem, module, folder, harness). write→verify→fix orchestration across agents. --refresh for stale pages. Never commits without an OK.
Updated — 13 Oct 2026
domaine-libre
Savoir si un nom de domaine est LIBRE (et à quel prix), en lecture seule. Le geste léger entre /marque (antériorité EUIPO/INPI) et /domaines (achat OVH) — ne vérifie AUCUNE marque, n'achète RIEN.
Updated — 13 Oct 2026
facture
Creates, lists, renders the PDF and sends an invoice or a quote through the ac_invoicing façade. Handles recurring subscriptions too. The issuer is always the sole trader; show before send is mandatory.
Updated — 13 Oct 2026
fenetre-autonomie
Drives the TIME WINDOW of night-time autonomy, day by day. Shows and edits start-to-end, enables or disables a given day. Source sy_autonomy_window. To change or shift the schedule.
Updated — 13 Oct 2026
fiche-agent
Quand un client demande si son site est « lisible par les assistants IA » (ChatGPT, Gemini, Perplexity) ou avant un lancement : relevé mesuré des trois étages (être trouvé, être retenu, pouvoir acheter), fiches jugées par la règle du core, état des lieux déjà fait / manquant / geste.
Updated — 13 Oct 2026
graver-victoire
Records a victory in ps_ac_cicatrices (kind=victory) — the counterpart of the scar. Captures what worked and why, so it can be replayed rather than rediscovered.
Updated — 13 Oct 2026
handoff
Finds and shows the session handoff for the current directory, even one already picked up by another session. The safety net for when the SessionStart auto-resume has missed it. --reset makes it eligible for auto-resume again.
Updated — 13 Oct 2026
harnais
Changer le harnais (Claude, Codex, GLM, Antigravity/Gemini, Muse) ou le modèle d'une ventouse, de tout un pool ou de toutes les ventouses, SANS les fermer : elles gardent case, objectif et pool. Quand Alex dit « passe-les en Gemini » ou qu'un coût demande un modèle plus léger.
Updated — 17 Oct 2026
host
Audit and maintenance of a host (mothership, tenant, IP): `infra` for load/disk/SSL/containers, `secu` for UFW/SSH/fail2ban/headers, `backups` for dump freshness and integrity, `upgrade` for a non-interactive APT. With no section given, all three audits run. Returns the fixes as exact commands.
Updated — 13 Oct 2026
htpasswd
(Re)generates the nginx Basic Auth of a tenant staging (login=alex/password=alex by default). Auto-detects the VPS and the .htpasswd file, reloads nginx, then checks it live.
Updated — 13 Oct 2026
idee
Records a brainstorm idea in the /hub/brainstorm registry (table sy_brainstorm). Use it when Alex wants to note down a lead without opening a chantier.
Updated — 13 Oct 2026
import-woocommerce
Reprendre le catalogue PUBLIC d'une boutique WooCommerce (produits, descriptions, specs, déclinaisons, prix, catégories, images originales) en un import JSON prêt pour CodeMyShop. Lecture seule de la Store API, aucune écriture en base. Quand on dit « reprends le catalogue de son site » sur un WooCommerce.
Updated — 16 Oct 2026
inbox
Searches or reads incoming email (ps_ac_inbox_emails) through the Nuxt TS façade. Two fallbacks included: direct OVH IMAP if the façade is down, and lookup by sender plus time.
Updated — 13 Oct 2026
integration-maquette
Turns a Figma mock-up into a previewable homepage VARIANT, without touching the live site. Chain: figma → plan → Alex CHECKPOINT → DRAFT variant → staging deploy → preview link.
Updated — 13 Oct 2026
integrer-maquettes-restantes
Mesure ce qui reste à intégrer d'un corpus Figma entier (maquette ↔ rendu, route par route), trie chaque écart vers le bon geste et l'exécute par valeur. À invoquer sur « intègre les maquettes pas encore intégrées ». Une page seule relève de /page-iso-figma.
Updated — 13 Oct 2026
jeu-synedre
Pool du jeu « Synedre : la Tournée » (FPS navigateur, agents du Synedre, Années folles) en T2 : Turing conduit sous Codex GPT-6.1, recrues GLM sous ZCode et ./glm, Mitnick juge sous Claude.
Updated — 17 Oct 2026
lien-a-valider
À invoquer dès qu'une commande rend une URL qu'Alexandre doit ouvrir lui-même : validation de clé API, consentement OAuth/SSO, lien signé, magic link. Ces URL portent un token que l'anti-leak masque à l'écran — affichée dans le chat, l'URL est inutilisable.
Updated — 13 Oct 2026
livrable-charte-synedre
Charte graphique officielle des livrables et propositions commerciales Synedre / Alexandre Carette : mise en page A4, typographie Bitstream Charter & Liberation Sans, palette magenta, blocs d'analyse, colophon et rendu PDF Playwright.
Updated — 13 Oct 2026
livraison-tenant
Pool de livraison d'un tenant : Atlas conduit, Turing (back, données) et Eames (écrans, ISO des maquettes) livrent en préprod les lignes demandées par le client, Nightingale juge chaque ligne contre la demande. La tentacule du tenant garde les emails.
Updated — 17 Oct 2026
maillage-interne
Quand une boutique parle d'un sujet sans lier la page qui se positionne dessus : trouver ces occasions par la Search Console et poser les liens, réversibles.
Updated — 13 Oct 2026
marque-depot
Files a European Union trade mark with the EUIPO, then keeps its deadlines: form pre-filled in the browser, payment by bank transfer, D+21 reminder, opposition watch. To invoke once a filing decision is made and it is time to act.
Updated — 13 Oct 2026
merci-facteur
Poster une lettre papier — recommandé avec AR, suivi ou simple — depuis un PDF déjà signé. Dès qu'un courrier a besoin d'une preuve de date opposable et pas seulement d'un email.
Updated — 13 Oct 2026
modelisation-3d
Modéliser à la main, par script Blender, une tête ou un personnage stylisé à partir de gabarits face/profil : réseau de splines, cage quad en boucles, yeux, oreille, soudure de symétrie. Avant de construire une topologie plutôt que de la deviner.
Updated — 13 Oct 2026
negociation
Loads the context of a sales negotiation (sy_negociation) — the counterpart of /chantier for the lead → deal pipeline. Argument -id <id>, <id>, or empty for the list.
Updated — 13 Oct 2026
notes-atomiques
Splits a monolithic document into atomic notes filed into the Obsidian Vault, without touching the source. Argument: the path of the file to break apart.
Updated — 13 Oct 2026
parcours-client
Replays a shop's purchase funnel in a REAL browser, from the home page to the order summary, stopping before payment. To be run after every delivery touching catalogue, cart, checkout or emails.
Updated — 13 Oct 2026
persona
Drift of the agent personas against the current stack: with no argument, an audit of the 30 agents (PrestaShop/MariaDB/Nuxt 3 mentions in the job_* fields, snapshot in sy_personas_drift_history); with `<codename> --fix`, a mistral LLM refresh plus a 3-way diff validated by Alex.
Updated — 13 Oct 2026
planche-prompt
Écrire un prompt de planche pour un générateur d'images — le générateur tenu comme une retouche, référence obligatoire à chaque prompt, une seule passe. Itérer sur le prompt, jamais sur le pipeline.
Updated — 13 Oct 2026
plan-editorial
Composer un mois de sujets de blog adossés au publié et aux requêtes réelles de la Search Console, puis les mettre en file après validation. Quand la file se vide.
Updated — 13 Oct 2026
point-emails-client
Faire le point sur les emails d'un client et de son équipe quand on ne sait plus ce qui a été répondu : chaque statut (nouveau, traité) confronté aux envois réels. ≠ /boucles-client (toutes les boucles ouvertes, 7 j).
Updated — 13 Oct 2026
promouvoir-client
À invoquer après un devis signé ou un accord attesté pour basculer une organisation de prospect à client et consolider sa fiche /hub/humans.
Updated — 13 Oct 2026
protection-majeur
To invoke when Alex wants to process the correspondence of an adult-protection file: new messages to sort, facts to extract, procedures to update, admissibility to state, sibling summary to draft. The only point of the file where an LLM steps in — never on a cron.
Updated — 13 Oct 2026
publish
Publishes a blog article on alexandrecarette.fr: writing under the editorial charter, FAQ, SEO metadata, going live and checking the URL. Argument: the topic.
Updated — 13 Oct 2026
qa-ressemblance-3d
Juger si un personnage 3D est bien CELUI de sa planche : mesure contre le dessin technique, œil contre le character design. Le verdict de ressemblance qui précède la QA de topologie.
Updated — 13 Oct 2026
question-referent
Bloqué sur une décision que seul le client peut prendre ? Vérifier d'abord que la réponse n'existe pas, puis poser au référent client UNE question groupée, à son ton. Brouillon montré, envoi sur le « valide » d'Alex.
Updated — 13 Oct 2026
relance
Relance multi-tenant d'impayés : détection (≥2 factures à J+30) → préparation du brouillon groupé avec pièces jointes → code d'autorisation Pacioli → validation et expédition par Alexandre.
Updated — 13 Oct 2026
relecture-blog
Relire contre le code les articles de blog qui décrivent notre propre produit, avant de les valider : faits vérifiés, inventions retirées, limites dites. Session hebdomadaire, ouverte par la tâche backlog du lundi.
Updated — 13 Oct 2026
reponse-client-annotee
Answering a client by SHOWING them: a capture of the delivered page, areas boxed and captioned, then an email through the façade. To announce a go-live or settle a visual doubt. Nothing is sent without Alex's "valide".
Updated — 13 Oct 2026
revue-agents
Opens the Revue de la Place des Armes: each agent on duty presents itself before the Founder and delivers its report. Use it for an overall view of the state of the Synedre.
Updated — 13 Oct 2026
revue-interpool
Passe de revue des pools vivants depuis un bras dédié : lire les autres bras sans y écrire, qualifier l'usure des agents, les cicatrices et les gestes risqués, distiller les leçons, et renvoyer chaque constat retenu par la messagerie interpool. Colbert juge.
Updated — 13 Oct 2026
run
Opens a scoped Synedre RUN (sy_run), the default route for light work. Loads its perimeter from the database. ⚠️ Nothing to do with the harness's native /run (the app launcher).
Updated — 13 Oct 2026
scan-attachment
Antivirus scan of an email attachment BEFORE it is ever opened (ClamAV plus per-type heuristics). A blocking prerequisite: no incoming attachment is read without a clean verdict. Argument: a file, a folder, or --id <email>.
Updated — 13 Oct 2026
secure-owner-access-delivery
Deliver an existing account login and password to its confirmed owner through a one-time sovereign secret link. Use for a user-authorized credential handoff; not for account recovery, resets, or access testing.
Updated — 13 Oct 2026
seo-blog-performance
Diagnostique les articles de blog qui stagnent ou chutent : visibilité et positions GSC par URL, indexabilité et causes techniques. Lecture seule ; n'écrit ni article ni redirection.
Updated — 13 Oct 2026
seo-coverage
Multi-tenant watch over French SEO coverage: shows, per site and per page type, the holes in meta_title, meta_description, h1 and short description. Read-only, generates nothing.
Updated — 13 Oct 2026
seo-orphelines
Multi-tenant watch for orphan URLs: probes what Google knows (not the sitemap) and follows redirects, to find indexed URLs answering 404, or 301-into-404. Read-only by default, idempotent.
Updated — 13 Oct 2026
serveur-client
Mettre en service le VPS dédié d'un client qui vient d'être livré et y déménager sa préproduction depuis le serveur tampon : premier accès, socle, migration, DNS, flotte. Dès qu'on dit « mets en place le nouveau serveur » ou « transfère la préprod ».
Updated — 13 Oct 2026
sign-pdf
Applies Alex's scanned handwritten signature to a PDF (the equivalent of a signature stamp). To sign a quote, a contract or an administrative document.
Updated — 13 Oct 2026
status
State of the system AND audit of the site: git, containers, production/staging HTTP, logs, database; the `site` argument runs a full audit of alexandrecarette.fr (key pages, robots/sitemap/JSON-LD, TTFB, security headers, score out of 100). At the start of a session, after an incident, or to audit the site.
Updated — 13 Oct 2026
tentacule-delegation
Déléguer un travail à une tentacule Claude, Codex, Antigravity ou GLM sans interrompre son tour en cours.
Updated — 13 Oct 2026
ton-client
Loads a client's TONE file (register, form of address, profile, levers, things to avoid). Source sy_client.tone_of_voice, then sy_negociation, then a fallback to premium-artisan formal address.
Updated — 13 Oct 2026
traiter-demande
Handles a request from the client project tracker: injects the item's context, checks its real status, carries it out if needed (edit → commit → deploy), then updates the status.
Updated — 13 Oct 2026
tuto-mcp
Generates a per-tenant tutorial email showing the client how to fill in their own pages through THEIR Claude wired over MCP. Tone-aware, real examples read from the database, MCP-write guardrail.
Updated — 13 Oct 2026
ventouse-temporaire
Ouvrir une ventouse (tentacule Claude) depuis une session quand un outil MCP manque alors que le serveur est connecté, ou quand Alex demande une tentacule pour un travail. Une commande ouvre, une commande ferme.
Updated — 13 Oct 2026
video-hero
Quand une homepage doit porter une vidéo de fond : d'un fichier fourni par son propriétaire à une boucle muette, sans marque tierce, WebM + MP4 sous 3 Mo, posée sans jamais passer devant l'image LCP.
Updated — 13 Oct 2026
worktree-merge
Inventorier et fusionner vers preprod les branches worktree Synedre ayant des commits en attente. À utiliser pour les merges de ventouses, pas pour un simple commit.
Updated — 13 Oct 2026
100 conducts are not shown: their procedure names a client, a domain or a machine. Nothing is sorted by hand — an automated check re-reads every conduct every fifteen minutes and pulls any that names a third party. A conduct that picks up a client name disappears from here on its own.
Proprietary concept
What is filed is not the idea of writing a procedure — that is as old as the trade. It is the mechanism: an ordered sequence of typed steps, some handed to an agent, others to a deterministic script, run by a single orchestrator and traced step by step. Claim 9 of the Synedre OS Soleau envelope, filed with INPI on 7 April 2026.
DSO number: DSO2026012576 · Depositor: Alexandre Carette EI · SIREN 510 903 594