feat: brain-engine + brain-ui + docs — template full stack standalone

- brain-engine: server, embed, search, RAG, MCP, start.sh (standalone)
- brain-ui: source React complète, build.sh, DocsView avec tier colors
- docs: 14 pages guides humains (getting-started, architecture, sessions, workflows, agents, vues tier)
- brain-compose.yml v0.9.0: tier featured ajouté, sessions/agents par tier, coach_level, API key schema
- DISTRIBUTION_CHECKLIST v1.2: brain-engine + brain-ui + docs dans la checklist
This commit is contained in:
2026-03-20 20:25:40 +01:00
parent c249d417f5
commit 8244a07881
93 changed files with 12088 additions and 34 deletions

View File

@@ -0,0 +1,30 @@
-- cold-start-kpi.sql — KPI North Star : NO HANDOFF productif < 2 min
-- Ref : brain-constitution.md §3
-- Usage : sqlite3 brain.db < brain-engine/queries/cold-start-kpi.sql
-- Vue globale
SELECT
total_no_handoff,
passes,
pass_rate_pct || '%' AS pass_rate,
CASE
WHEN pass_rate_pct >= 80 THEN '✅ Layer 0 stable'
WHEN pass_rate_pct >= 60 THEN '⚠️ Layer 0 à surveiller'
ELSE '🔴 Layer 0 insuffisant — enrichir brain-constitution.md'
END AS verdict
FROM v_cold_start_kpi;
-- Détail par session
SELECT
sess_id,
date,
CASE cold_start_kpi_pass
WHEN 1 THEN '✅ pass'
WHEN 0 THEN '❌ fail'
ELSE '— non mesuré'
END AS kpi,
notes
FROM sessions
WHERE handoff_level = 'NO'
ORDER BY date DESC
LIMIT 10;

View File

@@ -0,0 +1,16 @@
-- graduation-candidates.sql — Patterns L3a prêts pour graduation vers L3b (toolkit)
-- Usage : sqlite3 brain.db < brain-engine/queries/graduation-candidates.sql
SELECT
agent,
projet,
stack,
pattern_id,
validations,
seuil_graduation,
ROUND(CAST(validations AS REAL) / seuil_graduation * 100) || '%' AS progress,
last_validated
FROM agent_memory
WHERE graduated = 0
AND validations >= seuil_graduation
ORDER BY validations DESC;

View File

@@ -0,0 +1,24 @@
-- metabolism-dashboard.sql — Vue santé brain sur 7 jours
-- Usage : sqlite3 brain.db < brain-engine/queries/metabolism-dashboard.sql
-- Ratio use-brain / build-brain sur 7 jours
SELECT
COUNT(*) AS sessions_7d,
SUM(CASE WHEN type = 'build-brain' THEN 1 ELSE 0 END) AS build_brain,
SUM(CASE WHEN type = 'use-brain' THEN 1 ELSE 0 END) AS use_brain,
ROUND(
CAST(SUM(CASE WHEN type='use-brain' THEN 1 ELSE 0 END) AS REAL) /
NULLIF(SUM(CASE WHEN type='build-brain' THEN 1 ELSE 0 END), 0),
2) AS ratio_use_build,
ROUND(AVG(health_score), 2) AS avg_health_score,
CASE
WHEN ROUND(CAST(SUM(CASE WHEN type='use-brain' THEN 1 ELSE 0 END) AS REAL) /
NULLIF(SUM(CASE WHEN type='build-brain' THEN 1 ELSE 0 END), 0), 2) >= 1.0
THEN '✅ équilibré'
WHEN ROUND(CAST(SUM(CASE WHEN type='use-brain' THEN 1 ELSE 0 END) AS REAL) /
NULLIF(SUM(CASE WHEN type='build-brain' THEN 1 ELSE 0 END), 0), 2) >= 0.5
THEN '⚠️ à surveiller'
ELSE '🔴 boucle narcissique'
END AS verdict
FROM sessions
WHERE date >= date('now', '-7 days');

View File

@@ -0,0 +1,12 @@
-- stale-claims.sql — Claims ouverts depuis plus de 4h
-- Usage : sqlite3 brain.db < brain-engine/queries/stale-claims.sql
SELECT
sess_id,
scope,
opened_at,
ROUND((julianday('now') - julianday(opened_at)) * 24, 1) AS age_hours
FROM claims
WHERE status = 'open'
AND julianday('now') > julianday(opened_at, '+4 hours')
ORDER BY age_hours DESC;