DOC-03 / Synedre

The Conduct

Sequential orchestration of Synedre's workflows — every complex task is a traced representation, mixing AI agents and deterministic automata.

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.

AUTOMATON

The Automaton 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 automaton 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

At

Atlas — Orchestrator

Analyses the task, dispatches agents, synthesises reports.

0

Context

Hi HillGa GaussMP Marco PoloMo MontessoriPu PulitzerSo Socrate

Data, monitoring, vision

1

Framing

Cl ClausewitzCo ColbertMq Montesquieu

Strategy, ROI, Compliance

2

Execution

Ga GaussBe BernaysBr BrunelEa EamesMo MontessoriNi NightingalePa PacioliPu PulitzerTu TuringOt OtletDu Dumas MélièsAu AudiardRe RenoirHk Hokusai

15 domain agents

3

Validation

Mq MontesquieuCc CocoIt IttenLo LovelaceMi MitnickBe BernhardtBe BernaysOg OgilvyOt OtletSo SocrateBr BrailleΦ Phidias

12 post-commit agents

4

Post-Ship

Cl ClausewitzGa GaussBr Brunel

Infra, docs, after deploy

Health

Wi Winnicott

Full session

The Liturgy of the Hours — Cistercian monks in an Ouroboros

The Liturgy of the Hours

155 Automata · 7 castes

127 scheduled · 28 on-demand

The Agents think. The Automata execute.

Re

Renoir

Stage Director of Automata

Vigies

Surveillance

32 scripts

Horlogers

Monitoring

26 scripts

Oracles

Foresight

26 scripts

Tisserands

Internal linking

23 scripts

Bâtisseurs

Infrastructure

19 scripts

Scribes

Authoring

8 scripts

Cellériers

Housekeeping / accounts

6 scripts

Unclassified

Awaiting classification

15 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

95 runs at a fixed hour, 52 at every hour. A conduct is invoked; an automaton sets off on its own.

A 24-hour schedule: what sets off on its own, hour by hour.
HourOfficeWhat sets offNatureWhereLiveCause of deathWhat it does
00 hMatinsAuto-réparation doc gatée (Shyrka)synedre/ac_doc_autofix.pyautomatonBâtisseurssynedrelivePhase 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.pyautomatonVigiessynedreliveVeille 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.pyautomatonBâtisseursvaisseau-mèrestoppedMort en production sans bruit — ses treize surveillances ont été reprises par des automates dédiés. 2026-05-03Cœur du Synedre : orchestre 13 agents, checks et heartbeats toutes les 5 min
Boucle Ouroboros informationnelle : GSC → Content Intelligence → contenusynedre/archive/ac_ouroboros.pymetaskillOraclesvaisseau-mèrestoppedMort en production sans bruit — constaté lors d'un balayage de la flotte. 2026-05-03Boucle Ouroboros informationnelle : GSC → Content Intelligence → contenu
Synchronisation des covers blog (injection covers manquantes)synedre/archive/ac_cover_sync.pyautomatonScribesvaisseau-mèrestoppedMort en production sans bruit — constaté lors d'un balayage de la flotte. 2026-05-03Cron horaire batch catch-up : scan TOUS articles sans cover et fixe (filet de sécurité si coverwatch rate).
01 hRelève hebdomadaire d'UN concurrent, de bout en bout.synedre/ac_etbcompare_weekly.pyautomatonOraclesvaisseau-mèreliveEnchaî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.pyautomatonTisserandsvaisseau-mèreliveFlow : 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.pyautomatonScribesvaisseau-mèrestoppedAbsorbé par le générateur de couvertures, qui traite désormais sa file lui-même. 2026-05-02Cron */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 publiquesautomatonVigiesvaisseau-mèrestopped— cause undocumentedWorker invoqué par ac_audit (façade) ET ac_pipeline. Qualité technique des pages publiques.
02 hac_seo_queue_feedersynedre/ac_seo_queue_feeder.pyautomatonNon classésvaisseau-mèrelive— undocumented
Standup matinal du Fondateur (run 2026-06-16).synedre/ac_standup_digest.pyautomatonOraclesvaisseau-mèreliveUn seul email à 04h30 locale (02h30 UTC), AVANT le bloc profond 5h-8h. Agrège les signaux de la nuit et les ROUTE : pour chaque email client / item, une étiquette pré-calculée run | chantier | draft | noise + une justif d'une ligne. But : faire du triage matinal un acte de DÉCISION (cocher/corriger), pas une re-lecture. Réduit la charge cognitive d'un Fondateur mono-focus.
Décotes DLC Autosynedre/ac_cron_expiry_discounts.pyautomatonCellériersvaisseau-mèrestopped— cause undocumentedSynchronise 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.pyautomatonTisserandsvaisseau-mèrestoppedPorté en TypeScript — la reconstruction du maillage interne est passée au moteur du site. 2026-05-03Génère les sitemaps XML (produits, catégories, CMS, pages spéciales)
Audit de sécurité des dépendances npm et pipautomatonVigiesvaisseau-mèrestopped— cause undocumentedVigies (jeudi 2h) : audit sécurité dépendances npm + pip (CVE, versions obsolètes).
+ 1 counted, unnamed
03 hLaudsClassifie le billing_mode des automates.synedre/ac_automate_billing_scan.pyskillCellériersvaisseau-mèredisabledRemplit 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.pyconductNon classéssynedredisabledPrincipe 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.pyconductNon classéssynedredisabledPrincipe 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.pyskillNon classésvaisseau-mèredisabledAgrégat quotidien des réactions.
Supervision de fraîcheur netlinking (chantiersynedre/ac_netlinking_supervisor.pyautomatonTisserandsvaisseau-mèreliveNON-LLM, cron-safe (doctrine [[feedback_no_llm_in_cron_use_ondemand]]) : ce script ne parle PAS à Semrush et ne relance PAS de scan lui-même. Le MCP Semrush est authentifié en session interactive — absent en headless/cron (cf Workflow tool : "interactively-authenticated MCP servers may be absent in headless/cron runs"). Un vrai scan exige donc une session Claude vivante (skill /netlinking).
04 hRégénération doc gatée (Shyrka)synedre/ac_doc_regen_cycle.pyautomatonScribessynedrebelieves it is alivePhase 1 #182 : QUOTIDIEN — drift→re-staging gaté→gate Mitnick→draft Alex SI écart change. Stop au staging, --activate JAMAIS auto.
Audit de pertinence + RÉCONCILIATION de statut des chantiers.synedre/ac_chantier_relevance_audit.pyconductNon classésvaisseau-mèredisabledPour 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.
Autonomous skill creation (Hermes pattern).synedre/ac_skill_proposal_detector.pyconductNon classésvaisseau-mèredisabledTravail #130 self-improving-memory. Architecture : "agent détecte un pattern récurrent dans `sy_tache_iteration` → propose nouvelle skill → fondateur valide via /hub/skills/proposals → promote vers `sy_skill`".
Moteur d'optimisation SEO multilingue PAR PAGE (chantiersynedre/ac_seo_optimizer.pyskillNon classésvaisseau-mèredisabledPour 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.pyconductOraclesvaisseau-mèredisabledConsolidation onirique mémoire (RAG/pgvector).
05 hBilan de santé de Shyrkasynedre/ac_conscience_health.pymetaskillHorlogersvaisseau-mèrebelieves it is alivePhase 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.
Battement de conscience de Shyrkasynedre/ac_conscience_tick.pyautomatonHorlogerssynedrelivePhase 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.pyautomatonHorlogersvaisseau-mèrelive« 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_netlinking_discover_contactssynedre/ac_netlinking_discover_contacts.pyconductNon classésvaisseau-mèrelive— undocumented
ac_wayback_archiveautomatonNon classésvaisseau-mèrelive— undocumented
06 hPrimeAuto-réparation doc gatée (Shyrka)synedre/ac_doc_autofix.pyautomatonBâtisseurssynedrelivePhase 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.pyautomatonCellériersvaisseau-mèreliveÉmission des factures/avoirs récurrents (abonnements ac_subscription) à échéance.
Sync Bancairesynedre/ac_bank_sync.pyautomatonCellériersvaisseau-mèreliveSynchronisation quotidienne des transactions bancaires via providers (Powens pour BoursoBank).
Hygiène des profils Chrome de la box bucéphale.synedre/ac_bucephale_tab_hygiene.pyautomatonHorlogersvaisseau-mèreliveRend 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.pyautomatonHorlogersvaisseau-mèreliveRotation des fichiers .log dans automation/ (évite croissance illimitée)
+ 2 counted, unnamed
07 hac_blog_queue_watchsynedre/ac_blog_queue_watch.pyautomatonNon classésvaisseau-mèrelive— undocumented
ac_glm_autonomy_heartbeatsynedre/ac_glm_autonomy_heartbeat.pyautomatonNon classésvaisseau-mèrelive— undocumented
Pousse la liturgie des heures vers synedre.com.synedre/ac_liturgie_sync_public.pyautomatonNon classéssynedrelive— internal description
Scanner de leads entrants depuis les bookings Calendly.synedre/ac_lead_scan.pyautomatonTisserandsvaisseau-mèrelive— internal description
Vigie de COUVERTURE SEO (source FR) multi-tenant.synedre/ac_seo_coverage.pyautomatonVigiesvaisseau-mèrelive— internal description
+ 2 counted, unnamed
08 hAutomate FinOps AE (Pacioli), chantier #212.synedre/ac_pacioli_automate.pyautomatonCellériersvaisseau-mèrelive— internal description
ac_fiscal_seuils_watchsynedre/ac_fiscal_seuils_watch.pyautomatonNon classésvaisseau-mèrelive— undocumented
Digest SEO bi-hebdo Gauss (chantier #213).synedre/ac_gauss_seo_digest.pyautomatonOraclesvaisseau-mèreliveCouche 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)
Garde-fou Ads #2 (chantier #380synedre/ac_audit_lead_capture_divergence.pyautomatonVigiesT-019liveDistinct du garde-fou #1 (ac_audit_conversion_coverage.py, statique — vérifie que le CODE est câblé) : celui-ci est un moniteur RUNTIME — vérifie que l'attribution est RÉELLEMENT captée sur les leads récents d'un tenant.
Prépare le Daily Meet avant l'arrivée du Fondateur (8 checks)automatonHorlogersvaisseau-mèrestopped— cause undocumentedPrépare le Daily Meet avant l'arrivée du Fondateur (8 checks)
+ 1 counted, unnamed
09 hTerceac_blog_relais_publicationsynedre/ac_blog_relais_publication.pyautomatonNon classésT-019live— undocumented
ac_netlinking_outreachsynedre/ac_netlinking_outreach.pyautomatonNon classésvaisseau-mèrelive— undocumented
Refresh quotidien de mv_cicatrices_kpi.synedre/ac_cicatrices_kpi_refresh.pyautomatonOraclesvaisseau-mèreliveChantier #148 autonomie-apprentissage / tâche #1351.
Re-snapshot contenu synedre.comsynedre/ac_synedre_content_snapshot.pyautomatonTisserandssynedrelive— internal description
Détecte les commentaires qui mentent sur le code vivant.synedre/ac_audit_comment_drift.pyautomatonVigiesvaisseau-mèrelivePattern trouvé 3× le 2026-07-19 (session budget/model-tiering) : - « Rollback assuré par bin/ship-health-check.sh » → jamais appelé - « Palier géré côté worker/recommended_model » → jamais lu - « 0 ref » d'un scanner zombie → fichier réellement importé
10 hPousse les garde-fous PUBLIABLES vers le VPS synedre.synedre/ac_system_hook_sync_public.pyautomatonNon classéssynedrelive— internal description
Sentinelle d'intégrité doctrine ↔ enforcement (chantier #428).synedre/ac_audit_doctrine.pyautomatonVigiesvaisseau-mèreliveRend la règle « 1 doctrine = 1 hook » ([[feedback_doctrine_requires_enforcement_hook]]) VÉRIFIABLE en continu. Croise TROIS registres :
Génération DictionnaireautomatonScribesvaisseau-mèrestopped— cause undocumentedGénération termes dictionnaire technique
Pipeline Centaure (Humain + IA) : génération d'articles blogautomatonScribesvaisseau-mèrestopped— cause undocumentedPipeline Centaure (Humain + IA) : génération d'articles blog
Veille compétitive Synedre vs frameworks multi-agents concurrentsautomatonVigiessynedrestopped— cause undocumentedVeille compétitive Synedre vs frameworks multi-agents concurrents
11 hLes garde-fous éteints « en attendant » quisynedre/ac_audit_extinctions_conditionnelles.pyautomatonNon classésvaisseau-mèrelivePOURQUOI 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.pyskillNon classésvaisseau-mèrestoppedÉvincé lors de la bascule des tâches Python vers le moteur du site. 2026-05-03Front 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)automatonOraclesvaisseau-mèrestopped— cause undocumentedRapport quotidien envoyé par email à 7h (Paris)
Audit schéma DB vs convention §NAMINGautomatonVigiesvaisseau-mèrestopped— cause undocumentedScan 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).
12 hSextAuto-réparation doc gatée (Shyrka)synedre/ac_doc_autofix.pyautomatonBâtisseurssynedrelivePhase 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.pyautomatonVigiesvaisseau-mèrelive— internal description
Invariant DB-live « tout agent_codenamesynedre/ac_audit_agent_codename_naming.pyautomatonVigiesvaisseau-mèreliveNé 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.pyautomatonVigiessynedreliveVeille 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/ac_pape_metz_watch.pyautomatonVigiesvaisseau-mèreliveLé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 hSentinelle anti-mort-silencieuse des hooks (chantier #421).synedre/ac_audit_hooks_db.pyautomatonVigiesvaisseau-mèreliveUn 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.pymetaskillBâtisseursvaisseau-mèrestoppedÉ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.pyautomatonHorlogersvaisseau-mèrestoppedÉvincé lors de la bascule des tâches Python vers le moteur du site. 2026-05-03Teste que le dernier backup est valide et restaurable
14 hSync embeddingssynedre/ac_embedding_sync.pyautomatonOraclesvaisseau-mèreliveRéindexation pgvector des contenus.
Vigie rétroactive : aucun échappement SQL maison quisynedre/ac_audit_sql_escape.pyautomatonVigiesvaisseau-mèreliveCLASSE 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.pyautomatonScribesvaisseau-mèrestoppedMaillon d'une chaîne morte — archivé avec le script qu'il alimentait. 2026-05-03Connexion IMAP Medium, extraction articles IA/ML/LLM en JSON
+ 1 counted, unnamed
15 hNoneCapteur de récidive de cicatrices (miss du recall).synedre/ac_cicatrice_repeat_detect.pyautomatonOraclesvaisseau-mèrelivePré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.pyautomatonVigiesvaisseau-mèreliveChantier #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 articlesautomatonVigiesvaisseau-mèrestopped— cause undocumentedAutomate anti-hallucination : vérification des faits dans les articles
16 hSanté SYSTÈME de la box OMEN bucéphale.synedre/ac_bucephale_system_health.pyautomatonNon classésvaisseau-mèreliveComplé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.pyautomatonVigiesvaisseau-mèrelivePour 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 SSRautomatonTisserandsvaisseau-mèrestopped— cause undocumentedSynchronise ps_ac_universal_faq → faq-data.json pour Nuxt SSR
17 hCron stub qui rafraîchitsynedre/ac_chantier_outcome_kpi_refresh.pyautomatonOraclesvaisseau-mèreliveCe 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 sessionautomatonHorlogersvaisseau-mèrestopped— cause undocumentedHealth check infrastructure au démarrage de session
Hygiène BlogautomatonVigiesvaisseau-mèrestopped— cause undocumentedVérification qualité articles blog
18 hVespersAuto-réparation doc gatée (Shyrka)synedre/ac_doc_autofix.pyautomatonBâtisseurssynedrelivePhase 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.pyautomatonVigiessynedreliveVeille 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/ac_pape_metz_watch.pyautomatonVigiesvaisseau-mèreliveLé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 ».
Brossage de dents du Synedre : nettoyage profils et fichiers 2x/jourautomatonHorlogersvaisseau-mèrestopped— cause undocumentedBrossage de dents du Synedre : nettoyage profils et fichiers 2x/jour
ac_nightingalesynedre/ac_nightingale.pyautomatonTisserandsvaisseau-mèrestoppedRemplacé par la surveillance à deux rythmes des demandes clients — découverte continue, alertes deux fois par jour. 2026-07-31— undocumented
+ 1 counted, unnamed
19 hRevue Élagage Cicatrices (Renoir)synedre/ac_elagage_review.pyautomatonNon classésvaisseau-mèreliveRevue 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.pyautomatonNon classésvaisseau-mèrelive— internal description
Scanner de leads entrants depuis les bookings Calendly.synedre/ac_lead_scan.pyautomatonTisserandsvaisseau-mèrelive— internal description
Cache local des images Instagram (URL CDN expire ~24h)synedre/archive/ac_instagram_image_cache.pyautomatonVigiesvaisseau-mèrestoppedEmporté par la refonte du stockage des publications Instagram. 2026-05-03— internal description
20 hPurge et rétention des events sy_agent_event (chantier #544,synedre/ac_event_retention.pyautomatonHorlogersvaisseau-mèreliveLa 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.pyautomatonVigiesvaisseau-mèrestoppedPorté en TypeScript — la reconstruction du maillage interne est passée au moteur du site. 2026-05-03Scan 404 liens internes et externes
+ 2 counted, unnamed
21 hComplineac_cover_nightlysynedre/ac_cover_nightly.pyautomatonNon classésvaisseau-mèrebelieves it is alive— undocumented
Collecteur quotidien des métriques memory/ et MEMORY.md.synedre/ac_memory_metrics.pyautomatonHorlogersvaisseau-mèreliveCollecte : - Nombre de fichiers .md dans memory/ - Taille totale (Ko) - Nombre de lignes de MEMORY.md - Liens morts / orphelins (via detect_dead_links.py)
Détecte les patterns récurrents dans sy_tache_iterationsynedre/ac_pattern_detector.pyautomatonOraclesvaisseau-mèrelivePhase UI-10.5 chantier synedre-os-cockpit. Pattern Hermes "autonomous skill creation".
Pipeline maillage interne SEOsynedre/archive/ac_maillage.pyautomatonTisserandsvaisseau-mèrestoppedPorté en TypeScript — la reconstruction du maillage interne est passée au moteur du site. 2026-05-03Façade orchestrateur subprocess (pattern accepté) : enchaîne linkmap + dict_linkinject + academy_linkinject. Workers gardent leur identité CLI.
22 hac_translate_blog_nightlysynedre/ac_translate_blog_nightly.pyautomatonNon classésvaisseau-mèrebelieves it is aliveTraduit 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.pyautomatonBâtisseursvaisseau-mèreliveArbitrage 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.pyautomatonVigiesvaisseau-mèreliveVé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.pymetaskillBâtisseursvaisseau-mèrestopped— cause undocumentedMoteur d'entraînement spartiate du Synedre (épreuves agents)
23 hPipeline cicatrices unifiésynedre/archive/ac_cicatrice.pyautomatonOraclesvaisseau-mèrestoppedMort en production sans bruit — constaté lors d'un balayage de la flotte. 2026-05-03Façade orchestrateur subprocess (pattern accepté) : commande all = harvest + sync. Workers gardent leur identité CLI.
Matomo CheckautomatonVigiesvaisseau-mèrestopped— cause undocumentedVérification santé Matomo analytics
Every hourOrgane de DélibérationskillOraclesvaisseau-mèrebelieves it is aliveMoteur 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ésvaisseau-mèredisabledCalque 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').
Traitement des revues doc externes (chantier #192).conductNon classéssynedredisabledFeature « 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).
Worker async Atlas : enrichit les events négo non traités.conductNon classésvaisseau-mèredisabledPour 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.
Worker HÔTE qui draine la queue sy_brainstorm_job.skillScribesvaisseau-mèredisabled— internal description
Automate cron : aligne mot-à-mot la bibliothèque en tâche de fond.automatonBâtisseursvaisseau-mèreliveAlex 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âtisseursvaisseau-mèrelive— internal description
Rejeu premium des tâches haute-altitude basculées (travailautomatonBâtisseursvaisseau-mèreliveQuand 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 AtlasmetaskillBâtisseursvaisseau-mèreliveLanceur de sessions Atlas autonomes.
Worker daemon Phase UI-2 chantier synedre-os-cockpit.metaskillBâtisseursvaisseau-mèrelivePick 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ériersvaisseau-mèreliveSi 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.
Relevé périodique du forfait Z.ai (GLM), via scraping duautomatonCellériersvaisseau-mèrelive— internal description
Alerte si /tmp/atlas-inbox-poll.lock > 10minautomatonHorlogersvaisseau-mèreliveac_atlas_lock_watchdog.sh — alerte si /tmp/atlas-inbox-poll.lock > 10min
Autonomie tick — seeder quotidien des chantiers mode_auto (autonomie-v2 #178).automatonHorlogersvaisseau-mèreliveLe 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".automatonHorlogersvaisseau-mèrelive— internal description
Génère un rapport de monitoring JSON complet.automatonHorlogersvaisseau-mèreliveCollecte 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).automatonHorlogersvaisseau-mèreliveDé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.automatonHorlogersvaisseau-mèreliveSurveille 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.automatonHorlogersvaisseau-mèreliveProblè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.automatonHorlogersvaisseau-mèreliveMiroir 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_worker_watchdogautomatonNon classésvaisseau-mèrelive— undocumented
Audit de READINESS (complétude autonomie) des chantiers.skillNon classésvaisseau-mèreliveORTHOGONAL à 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↔crontabautomatonNon classésvaisseau-mèreliveVigie 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 (chantierautomatonNon classésvaisseau-mèreliveLA 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, chantierautomatonNon classésvaisseau-mèreliveL'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ésvaisseau-mèreliveCe 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ésvaisseau-mèreliveChantier #1574 permanence-vocale-ia.
La relève des messages vocaux est-elle vivante ?automatonNon classésvaisseau-mèreliveac_permanence_vm_lock_watchdog.sh — la relève des messages vocaux est-elle vivante ?
Le poll Renoir est-il vivant ?automatonNon classésvaisseau-mèreliveac_renoir_lock_watchdog.sh — le poll Renoir est-il vivant ?
Pousse les skills PUBLIABLES de ac_hub vers le VPS synedre.automatonNon classéssynedrelive— internal description
Releve de boite cloisonneeautomatonNon classésvaisseau-mèreliveIngestion 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ésvaisseau-mèreliveChantier #1571 renoir-dispatch-vigies, travail #1988 (triage-trois-niveaux), critère 4 seul.
Vigie des 500 d'API sur toute la flotte Nuxt.automatonNon classésvaisseau-mèrelive— internal description
Alerte fondateur sur accumulation proposals pending.automatonOraclesvaisseau-mèreliveSeuil : 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 ShyrkaautomatonOraclesvaisseau-mèrelivePhase 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).automatonOraclesvaisseau-mèreliveSource 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.automatonOraclesvaisseau-mèreliveWalk `~/.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.automatonOraclesvaisseau-mèrelivePhase 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).automatonOraclesvaisseau-mèreliveÀ 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).
═══════════════════════════════════════════════════════════════════════════automatonOraclesvaisseau-mèrelive═══════════════════════════════════════════════════════════════════════════
Régénération profonde autonome (Shyrka)conductScribessynedrelivePhase 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.automatonTisserandsvaisseau-mèreliveExporte les tokens MCP du .env racine dans l'environnement du shell.
Fetch + scan des MÉDIAS ENTRANTS WhatsAppautomatonTisserandsvaisseau-mèrelive— internal description
Poll inbox AtlasautomatonTisserandsvaisseau-mèreliveDéclencheur Atlas sur emails entrants.
Remonte le statut SEO MANUEL posé depuis le hubautomatonTisserandsvaisseau-mèreliveChantier #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.automatonTisserandsvaisseau-mèrelivePROBLÈ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.automatonTisserandsvaisseau-mèrelive— internal description
Sync inbox IMAPautomatonTisserandsvaisseau-mèreliveSynchronisation des emails entrants OVH.
Synedre/ac_nightingale_escalate.py — Relance escaladante jusqu'au forward vers Atlas.automatonTisserandsvaisseau-mèreliveChantier #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.automatonVigiesvaisseau-mèreliveScanne 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-liveconductin-houseliturgie.etat_undefinedLance un chantier MAINTENANT et le mène jusqu'à done sans intervention, en suivant le flux au terminal. Se termine par le dossier de review preprod. Quand on ne veut pas attendre la fenêtre d'autonomie nocturne.
chantier-liveconductin-houseliturgie.etat_undefinedLance un chantier MAINTENANT et le mène jusqu'à done sans intervention, en suivant le flux au terminal. Se termine par le dossier de review preprod. Quand on ne veut pas attendre la fenêtre d'autonomie nocturne.
Synchronisation des rendez-vous Calendly vers la DBautomatonOraclesvaisseau-mèrestopped— cause undocumentedSynchronisation des rendez-vous Calendly vers la DB
Cover Generator CronautomatonScribesvaisseau-mèrestopped— cause undocumentedTraite 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)skillScribesvaisseau-mèrestopped— cause undocumentedGénération descriptions produit via Claude CLI (polling queue)
Modération IA des commentaires blog (agent Socrate)automatonScribesvaisseau-mèrestopped— cause undocumentedModération IA des commentaires blog (agent Socrate)
Orchestrateur de publication sociale automatisée (LinkedIn, X, FB, IG)automatonScribesvaisseau-mèrestopped— cause undocumentedOrchestrateur de publication sociale automatisée (LinkedIn, X, FB, IG)
Redaction IA CronautomatonScribesvaisseau-mèrestopped— cause undocumentedTraite ps_ac_redaction_queue : Claude CLI redige articles blog + FAQ
Traitement des revues doc externes (regard des autres)skillScribesvaisseau-mèrestopped— cause undocumentedChantier #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.
Écriture descriptions produit directement en DB via Claude CLIautomatonScribesvaisseau-mèrestopped— cause undocumentedDÉ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_cronautomatonTisserandsvaisseau-mèrestoppedCoupé 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 prodautomatonVigiesvaisseau-mèrestopped— cause undocumentedCheck 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 dictionnaireautomatonVigiesvaisseau-mèrestopped— cause undocumentedDétecte les concepts utilisés dans les articles mais absents du dictionnaire
Surveillance emails clients en temps réel, détection P0automatonVigiesvaisseau-mèrestopped— cause undocumentedSurveillance emails clients en temps réel, détection P0
+ 7 counted, unnamed

17 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. 105 are written, re-read from the repository every fifteen minutes.

Filter by tag

ConductIn-houseReflex#1254

aides-foyer

After-school care, childcare arrangements and benefits for the household children: what they are entitled to, what is being overpaid, what remains to be checked. When Alex asks what the household can claim, or prepares a new school year.

Updated — 26 Aug 2026

SkillOn request#826

apprendre

Drafts a post-project lesson via Montessori: analyses the agent flow (tasks, iterations, scars, logs) and extracts 5 fixed sections. Draft as output, Alex reviews before promotion.

Updated — 26 Aug 2026

SkillReflex#1151

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 — 26 Aug 2026

SkillOn request#80

audit-conduite

Retroactive audit of the canonical conduct format: scans type:conduite skills and flags incomplete frontmatter, missing Partition/Garde-fous, over-long description, over-heavy body. Read-only.

infra-secu

Updated — 26 Aug 2026

SkillOn request#63

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.

infra-secu

Updated — 26 Aug 2026

SkillOn request#56

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.

infra-secu

Updated — 26 Aug 2026

SkillOn request#778

audit-forum-seo

Audits a forum's SEO declaration chain: sitemap, robots.txt, thread coverage, URL health, Search Console. Read-only, exit 0 healthy / 1 anomaly.

Updated — 26 Aug 2026

SkillOn request#26

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.

infra-secu

Updated — 26 Aug 2026

SkillOn request#29

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.

infra-secu

Updated — 26 Aug 2026

SkillOn request#34

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.

infra-secu

Updated — 26 Aug 2026

SkillOn request#54

audit-modules

Anti-drift audit of CodeMyShop modules (community + enterprise): manifest, edition ↔ location, table regime, idempotent install.sql, vertical placement. Read-only.

infra-secu

Updated — 26 Aug 2026

SkillOn request#72

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.

infra-secu

Updated — 26 Aug 2026

SkillReflex#3

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.

finance

Updated — 26 Aug 2026

SkillOn request#827

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 — 26 Aug 2026

SkillReflex#55

browser

Drives a real Chrome browser (OMEN box, bucéphale) from the mothership: navigate, click, fill in, capture. For sites with no API, or shielded by anti-bot protection.

Updated — 31 Aug 2026

ConductIn-houseReflex#1152

budget-foyer

Works out the HOUSEHOLD monthly budget: actual spending per category against the caps, gaps, projections. When Alex asks how much it costs per month, or prepares a split between parents.

Updated — 26 Aug 2026

SkillReflex#5

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/.

chantier

Updated — 26 Aug 2026

SkillOn request#60

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.

chantier

Updated — 26 Aug 2026

ConductIn-houseReflex#885

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 — 26 Aug 2026

ConductIn-houseOn request#28

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 — 26 Aug 2026

SkillOn request#41

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 — 26 Aug 2026

SkillOn request#30

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 — 26 Aug 2026

ConductIn-houseReflex#1153

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 — 26 Aug 2026

SkillOn request#73

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 — 26 Aug 2026

SkillOn request#79

colis-non-recu

Claiming an Amazon parcel marked "delivered" (or even "handed to the recipient") but never received: evidence gathering, the support path all the way to live chat, refund. Drives the authenticated Chrome on bucéphale.

Updated — 26 Aug 2026

ConductIn-houseReflex#44

compta

Sole-trader bookkeeping in one move: bank import → invoice reconciliation → categorisation → report. Run it when Alex pastes a bank dump, or for a single step on its own.

Updated — 26 Aug 2026

ConductIn-houseReflex#1154

compta-perso

Enters a HOUSEHOLD expense or invoice into the household books: nursery, school, energy, health. Business accounting stays on its own side — never the other way round. As soon as a personal invoice arrives by email, through a portal, or on paper.

Updated — 26 Aug 2026

SkillOn request#6

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.

memoire

Updated — 26 Aug 2026

SkillOn request#830

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 — 26 Aug 2026

SkillReflex#207

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 — 26 Aug 2026

SkillOn request#7

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.

contenu

Updated — 26 Aug 2026

SkillOn request#27

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 — 26 Aug 2026

SkillReflex#31

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 — 26 Aug 2026

SkillOn request#831

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 — 26 Aug 2026

ConductAny siteReflex#1255

forum-article

Draws an article out of an already-published forum thread: final thesis, support verified turn by turn, draft handed back to Alex. Never published.

Updated — 26 Aug 2026

ConductIn-houseOn request#71

forum-lecon

A lesson in dialogue played by 4 agents (veille asks, academy explains, dialogue contradicts, dg arbitrates), then published on synedre.com/forum/dialogues. For a public teaching thread grown from a question. Options --source/--counterpoint/--epreuve detailed in references/. Never ./ship.

Updated — 26 Aug 2026

SkillOn request#833

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 — 26 Aug 2026

SkillReflex#74

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 — 26 Aug 2026

ConductAny siteReflex#47

hierarchie-categories

Puts a tenant's category URLs into a hierarchy: moves internal links from the flat slug to the nested path rebuilt from ps_category, with systematic 301s. Idempotent, tenant-agnostic.

Updated — 26 Aug 2026

SkillOn request#334

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 — 26 Aug 2026

SkillOn request#69

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 — 26 Aug 2026

SkillOn request#24

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 — 26 Aug 2026

SkillReflex#9

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.

email

Updated — 26 Aug 2026

ConductAny siteOn request#52

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 — 26 Aug 2026

SkillOn request#53

mac

Drives Alex's Mac through computer-use from the mothership (native SSH, no VNC): eyes (screenshot) and hands (cliclick/osascript). Reserved for STRICTLY graphical tasks.

Updated — 26 Aug 2026

SkillOn request#25

malt

Fetches the latest prospect conversations from Alexandre's Malt account: assignments received, unread messages. Read-only — no reply is ever sent without explicit validation.

Updated — 27 Aug 2026

ConductIn-houseReflex#1275

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 — 26 Aug 2026

SkillReflex#835

memoire

Semantic recall through pgvector RAG over memory/ + brain/ + ps_ac_{cicatrices,doctrine,chantier}. Finds the relevant notes even when the exact slug is unknown.

Updated — 26 Aug 2026

ConductIn-houseReflex#1289

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 — 26 Aug 2026

Meta-skillIn-houseOn request#777

meta-forum-source

End-to-end sourced forum thread, with no human review: collects an author's corpus, puts it through two gates (mechanical, then an adversarial juror), plays the dialogued lesson on that text and publishes it. Orchestrates /corpus and /forum-lecon. Never ./ship, never --force-publish.

Chains

/sources-ouvrage/forum-lecon

Updated — 26 Aug 2026

SkillOn request#62

monitoring-live

LIVE tracking of an autonomous chantier while it runs: watch the execution stream, spot a drift or a runaway, cut early. To OBSERVE during, not to judge after — the verdict belongs to QA.

Updated — 26 Aug 2026

SkillReflex#32

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 — 26 Aug 2026

SkillOn request#837

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 — 26 Aug 2026

ConductAny siteReflex#75

page-iso-figma

Renders a CMS PAGE identical to a Figma mock-up, content 100 % in the database (ps_cms + cs_page_section + cs_page_block), zero tenant .vue. For a content page — the homepage belongs to /integration-maquette.

Updated — 26 Aug 2026

ConductAny siteReflex#890

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 — 26 Aug 2026

SkillOn request#49

perso-3d

Generates a coloured 3D character (GLB) from a 2D turnaround character sheet. Chain: crop → Hunyuan3D-2mv → colorize → draco GLB. ⚠️ The mesh goes through a third-party HF Space.

Updated — 26 Aug 2026

SkillOn request#352

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 — 26 Aug 2026

ConductAny siteReflex#1395

plan-editorial

Composer un mois de sujets de blog adossés à l'existant publié et aux requêtes réelles de la Search Console, puis les mettre en file après validation. À invoquer quand la file de rédaction se vide, ou avant d'ouvrir une campagne de contenu.

Updated — 26 Aug 2026

SkillOn request#19

propal-verif

Automatic QA of a commercial proposal email before it goes out: spawns a team of Synedre agents who review the substance, the price, the tone and the legal risk. Never sends.

chantier

Updated — 26 Aug 2026

ConductIn-houseReflex#1157

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 — 26 Aug 2026

SkillOn request#11

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.

contenu

Updated — 26 Aug 2026

ConductAny siteReflex#1158

qa-responsive

Checks how a tenant renders on mobile, tablet and desktop — replayable DOM measurements breakpoint by breakpoint, then an eye on what measurement cannot see. Argument: the tenant, optionally a route.

Updated — 26 Aug 2026

ConductAny siteOn request#526

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 — 26 Aug 2026

SkillOn request#839

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 — 26 Aug 2026

SkillReflex#33

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).

dev

Updated — 26 Aug 2026

SkillReflex#20

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>.

email

Updated — 26 Aug 2026

SkillReflex#37

seo-audit

SEO audit of a tenant: i18n coverage (slug, name, metadata, H1 per language) plus the technical sentinel (404/5xx sweep, 28-day Search Console health, alert/warn/ok verdict). Argument: the tenant enrolled in sy_seo_sentinel_target, or empty for every active tenant.

Updated — 26 Aug 2026

SkillOn request#40

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 — 26 Aug 2026

ConductAny siteReflex#58

seo-meta

Audits and repairs the SEO metadata of a tenant's categories (titles and descriptions), with ac_seo_optimizer as the single engine. Hand-written content is never overwritten. Every language, idempotent.

Updated — 26 Aug 2026

SkillReflex#77

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 — 26 Aug 2026

SkillOn request#42

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 — 26 Aug 2026

SkillOn request#61

simplifier-interface-dense

Audits and simplifies a DENSE interface (too many badges, colours, too much vocabulary per row). Captures the page, applies the 4 principles, proposes an ideal row and a single lexicon.

Updated — 26 Aug 2026

SkillOn request#68

soulseek

Searching and downloading music on the Soulseek network (SlskNet) through the slskd daemon on bucéphale, then bringing it back to the mothership. To find a track or album unavailable on streaming or for direct purchase. Never autonomously: downloads happen on Alex's explicit order only.

Updated — 26 Aug 2026

SkillIn-houseOn request#840

sources-ouvrage

Collects and sorts the sources of a book or a thesis BEFORE a forum thread: verified attribution, counter-expertise included. Never plays the thread itself — /meta-forum-source takes over.

Updated — 26 Aug 2026

SkillOn request#15

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.

infra-secu

Updated — 26 Aug 2026

SkillOn request#841

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 — 26 Aug 2026

SkillOn request#51

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 — 26 Aug 2026

SkillOn request#50

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 — 26 Aug 2026

ConductAny siteReflex#78

url-change

Changing a LIVE URL (slug/link_rewrite rename, re-parenting, domain, localised route) in a fixed sequence: 301 verified, images checked, caches purged. Use it whenever an indexed public URL is renamed, moved or redirected.

Updated — 26 Aug 2026

SkillReflex#842

urssaf

FinOps dashboard for the sole-trader business: revenue, URSSAF contributions, provisions, micro-BNC thresholds, flat-rate withholding. Indicative figures, to be confirmed with the accountant. Argument: the month.

Updated — 26 Aug 2026

ConductIn-houseOn request#399

wukong-post

Brings Sun Wukong into a forum thread to let it breathe: a single appearance, funny and signed, when someone mistakes power for authority. The right to appear belongs to the Director, never to the character. IGNORE|DRAFT|POST contract, 金箍 blocking before publication.

Updated — 26 Aug 2026

24 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