auto-sync-1615
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"generated_at": "2026-04-19T16:05:01.406881",
|
||||
"generated_at": "2026-04-19T16:15:01.510911",
|
||||
"stats": {
|
||||
"total": 439,
|
||||
"pending": 839,
|
||||
"total": 441,
|
||||
"pending": 843,
|
||||
"kaouther_surfaced": 29,
|
||||
"chrome_surfaced": 10,
|
||||
"notif_only_done": 0,
|
||||
"autofix_archived": 0,
|
||||
"cerebras_archived": 0,
|
||||
"older_3d_archived": 0,
|
||||
"unknown": 400,
|
||||
"unknown": 402,
|
||||
"errors": 0
|
||||
},
|
||||
"actions": [
|
||||
|
||||
11
api/blade-tasks/task_20260419141001_62942e.json
Normal file
11
api/blade-tasks/task_20260419141001_62942e.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "task_20260419141001_62942e",
|
||||
"name": "Blade self-heal 16:10",
|
||||
"type": "powershell",
|
||||
"command": "\n# Blade self-heal\nWrite-Host \"Self-heal triggered $(Get-Date)\"\n$agentProc = Get-Process powershell | Where-Object { $_.CommandLine -match 'sentinel-agent' }\nif (!$agentProc) {\n Write-Host \"Agent not running, starting...\"\n Start-Process powershell -ArgumentList \"-ExecutionPolicy\",\"Bypass\",\"-File\",\"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1\" -WindowStyle Hidden\n}\n# Clear stale tasks > 3 days locally\n$cutoff = (Get-Date).AddDays(-3)\nGet-ChildItem \"C:\\ProgramData\\WEVAL\\tasks\\*.json\" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff } | Move-Item -Destination \"C:\\ProgramData\\WEVAL\\tasks\\archived\\\" -Force -ErrorAction SilentlyContinue\nWrite-Host \"Self-heal complete\"\n",
|
||||
"cmd": "\n# Blade self-heal\nWrite-Host \"Self-heal triggered $(Get-Date)\"\n$agentProc = Get-Process powershell | Where-Object { $_.CommandLine -match 'sentinel-agent' }\nif (!$agentProc) {\n Write-Host \"Agent not running, starting...\"\n Start-Process powershell -ArgumentList \"-ExecutionPolicy\",\"Bypass\",\"-File\",\"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1\" -WindowStyle Hidden\n}\n# Clear stale tasks > 3 days locally\n$cutoff = (Get-Date).AddDays(-3)\nGet-ChildItem \"C:\\ProgramData\\WEVAL\\tasks\\*.json\" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff } | Move-Item -Destination \"C:\\ProgramData\\WEVAL\\tasks\\archived\\\" -Force -ErrorAction SilentlyContinue\nWrite-Host \"Self-heal complete\"\n",
|
||||
"priority": "high",
|
||||
"status": "pending",
|
||||
"created": "2026-04-19T14:10:01+00:00",
|
||||
"created_by": "blade-control-ui"
|
||||
}
|
||||
11
api/blade-tasks/task_20260419141501_566092.json
Normal file
11
api/blade-tasks/task_20260419141501_566092.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "task_20260419141501_566092",
|
||||
"name": "Blade self-heal 16:15",
|
||||
"type": "powershell",
|
||||
"command": "\n# Blade self-heal\nWrite-Host \"Self-heal triggered $(Get-Date)\"\n$agentProc = Get-Process powershell | Where-Object { $_.CommandLine -match 'sentinel-agent' }\nif (!$agentProc) {\n Write-Host \"Agent not running, starting...\"\n Start-Process powershell -ArgumentList \"-ExecutionPolicy\",\"Bypass\",\"-File\",\"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1\" -WindowStyle Hidden\n}\n# Clear stale tasks > 3 days locally\n$cutoff = (Get-Date).AddDays(-3)\nGet-ChildItem \"C:\\ProgramData\\WEVAL\\tasks\\*.json\" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff } | Move-Item -Destination \"C:\\ProgramData\\WEVAL\\tasks\\archived\\\" -Force -ErrorAction SilentlyContinue\nWrite-Host \"Self-heal complete\"\n",
|
||||
"cmd": "\n# Blade self-heal\nWrite-Host \"Self-heal triggered $(Get-Date)\"\n$agentProc = Get-Process powershell | Where-Object { $_.CommandLine -match 'sentinel-agent' }\nif (!$agentProc) {\n Write-Host \"Agent not running, starting...\"\n Start-Process powershell -ArgumentList \"-ExecutionPolicy\",\"Bypass\",\"-File\",\"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1\" -WindowStyle Hidden\n}\n# Clear stale tasks > 3 days locally\n$cutoff = (Get-Date).AddDays(-3)\nGet-ChildItem \"C:\\ProgramData\\WEVAL\\tasks\\*.json\" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff } | Move-Item -Destination \"C:\\ProgramData\\WEVAL\\tasks\\archived\\\" -Force -ErrorAction SilentlyContinue\nWrite-Host \"Self-heal complete\"\n",
|
||||
"priority": "high",
|
||||
"status": "pending",
|
||||
"created": "2026-04-19T14:15:01+00:00",
|
||||
"created_by": "blade-control-ui"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"version": "V83-business-kpi",
|
||||
"ts": "2026-04-19T14:09:44+00:00",
|
||||
"ts": "2026-04-19T14:14:44+00:00",
|
||||
"summary": {
|
||||
"total_categories": 7,
|
||||
"total_kpis": 56,
|
||||
|
||||
170
api/wevia-v77-parallel-executor.php
Normal file
170
api/wevia-v77-parallel-executor.php
Normal file
@@ -0,0 +1,170 @@
|
||||
<?php
|
||||
/**
|
||||
* V77 — Parallel Multi-Agent Executor
|
||||
* Purpose: TRUE parallelization via background processes.
|
||||
*
|
||||
* Usage via chat triggers:
|
||||
* "max agents" / "tous les agents" / "agents maximum" / "full parallele"
|
||||
* → Fires all available agents concurrently, aggregates results.
|
||||
*
|
||||
* Unlike wevia-sse-orchestrator.php which runs sequentially (foreach with shell_exec),
|
||||
* this one launches each agent in the background with & and waits for all.
|
||||
* Latency = max(agent_time) not sum(agent_times).
|
||||
*
|
||||
* Registers the V77 intent in the wire-pending catalog as
|
||||
* "max_parallel_agents" with triggers "max agents / tous agents / agents maximum".
|
||||
*/
|
||||
|
||||
if (!isset($_mam) && !isset($msg)) return;
|
||||
$V77_MSG = $msg ?? $_mam ?? '';
|
||||
$V77_LOW = mb_strtolower($V77_MSG);
|
||||
|
||||
/* Trigger patterns - STRICT to not clash with standard multi-agent SSE */
|
||||
$V77_TRIGGERS = [
|
||||
'max agents',
|
||||
'max d agents',
|
||||
'tous les agents',
|
||||
'tous agents',
|
||||
'agents maximum',
|
||||
'maximum agents',
|
||||
'full parallele',
|
||||
'full parallèle',
|
||||
'parallel max',
|
||||
'max parallele'
|
||||
];
|
||||
|
||||
$V77_HIT = false;
|
||||
foreach ($V77_TRIGGERS as $t) {
|
||||
if (stripos($V77_LOW, $t) !== false) { $V77_HIT = true; break; }
|
||||
}
|
||||
if (!$V77_HIT) return;
|
||||
|
||||
/* Gather all available agents from SSE orchestrator dict via include */
|
||||
$agents = [];
|
||||
$skip = [];
|
||||
/* Re-use existing SSE orchestrator agents by re-including the relevant sections */
|
||||
/* But we can't just re-include orchestrator (it starts SSE streaming). */
|
||||
/* Instead: use a curated list sourced from V76 scripts + core agents */
|
||||
|
||||
$V77_SCRIPTS_DIR = '/var/www/html/api/v76-scripts';
|
||||
|
||||
/* V76 agents scripts (8) */
|
||||
foreach (['avatar-audit','selenium-check','playwright-check','registry-status','six-sigma','chrome-blade','cyber-tips','autonomy-score'] as $s) {
|
||||
$agents['v76_' . str_replace('-','_',$s)] = "bash $V77_SCRIPTS_DIR/$s.sh 2>&1";
|
||||
}
|
||||
|
||||
/* Core infrastructure agents (inline, short commands) */
|
||||
$agents['load'] = 'uptime | tr -s " " | cut -d, -f3- | head -c 60';
|
||||
$agents['disk'] = 'df -h / 2>/dev/null | tail -1 | awk "{print \"use:\"\$5\" free:\"\$4}"';
|
||||
$agents['memory'] = 'free -m | grep Mem | awk "{print \"used:\"\$3\"M free:\"\$4\"M\"}"';
|
||||
$agents['fpm'] = 'pgrep -cf php-fpm | xargs -I{} echo "fpm_procs:{}"';
|
||||
$agents['nginx'] = 'pgrep -cf nginx | xargs -I{} echo "nginx_procs:{}"';
|
||||
$agents['postgres'] = 'pgrep -cf postgres | xargs -I{} echo "pg_procs:{}"';
|
||||
$agents['html_count'] = 'ls /var/www/html/*.html 2>/dev/null | wc -l | xargs -I{} echo "pages:{}"';
|
||||
$agents['api_count'] = 'ls /var/www/html/api/*.php 2>/dev/null | wc -l | xargs -I{} echo "apis:{}"';
|
||||
$agents['hubs'] = 'ls /var/www/html/*hub*.html /var/www/html/*dashboard*.html 2>/dev/null | wc -l | xargs -I{} echo "hubs_dashboards:{}"';
|
||||
$agents['intents_pending'] = 'ls /var/www/html/api/wired-pending/*.php 2>/dev/null | wc -l | xargs -I{} echo "intents:{}"';
|
||||
$agents['git_dirty'] = 'cd /var/www/html && git status -s 2>/dev/null | wc -l | xargs -I{} echo "dirty:{}"';
|
||||
$agents['git_head'] = 'cd /var/www/html && git log --format=%h -1 2>/dev/null | xargs -I{} echo "head:{}"';
|
||||
$agents['vault_count'] = 'ls /opt/wevads/vault/ 2>/dev/null | wc -l | xargs -I{} echo "vault:{}"';
|
||||
$agents['wiki_count'] = 'ls /var/www/html/wiki/ 2>/dev/null | wc -l | xargs -I{} echo "wiki:{}"';
|
||||
$agents['docker'] = 'docker ps --format "{{.Names}}" 2>/dev/null | wc -l | xargs -I{} echo "containers:{}"';
|
||||
$agents['ollama'] = 'pgrep -cf ollama | xargs -I{} echo "ollama_procs:{}"';
|
||||
$agents['chrome'] = 'pgrep -cf chrome | xargs -I{} echo "chrome_procs:{}"';
|
||||
$agents['selenium_drv'] = 'which chromedriver 2>/dev/null || echo MISSING';
|
||||
$agents['playwright_inst'] = 'python3 -c "import playwright" 2>/dev/null && echo PY_OK || echo PY_MISSING';
|
||||
$agents['ports_listen'] = 'ss -tlnp 2>/dev/null | grep -c LISTEN | xargs -I{} echo "ports:{}"';
|
||||
$agents['crons_user'] = 'crontab -l 2>/dev/null | grep -cv "^#\|^$" | xargs -I{} echo "crons_user:{}"';
|
||||
$agents['nonreg'] = 'cat /var/www/html/api/nonreg-latest.json 2>/dev/null | grep -oE "\"score\":[0-9.]+" | head -1';
|
||||
$agents['sovereign_port'] = 'ss -tlnp 2>/dev/null | grep -c ":4000 " | xargs -I{} echo "sovereign:{}"';
|
||||
$agents['qdrant_port'] = 'ss -tlnp 2>/dev/null | grep -c ":6333 " | xargs -I{} echo "qdrant:{}"';
|
||||
$agents['truth_registry'] = 'ls -la /var/www/html/api/wevia-truth-registry.json 2>/dev/null | awk "{print \"size:\"\$5\" kb:\"int(\$5/1024)}"';
|
||||
$agents['v82_tips'] = 'curl -sk --max-time 2 http://127.0.0.1:5890/api/wevia-v82-tips-catalog.php -H "Host: weval-consulting.com" 2>/dev/null | grep -oE "\"total_tips\":[0-9]+"';
|
||||
$agents['sixsigma_api'] = 'curl -sk --max-time 2 http://127.0.0.1:5890/api/wevia-v74-sixsigma-api.php -H "Host: weval-consulting.com" 2>/dev/null | grep -oE "\"dpmo\":[0-9]+|\"sigma_level\":[0-9]+|\"wevia_autonomy_pct\":[0-9.]+"';
|
||||
|
||||
/* Blade queue status */
|
||||
$agents['blade_pending'] = 'ls /var/www/html/api/blade-tasks/*.json 2>/dev/null | wc -l | xargs -I{} echo "blade_tasks:{}"';
|
||||
$agents['blade_renew'] = 'ls /opt/weval-l99/wevia-blade-*.sh 2>/dev/null | wc -l | xargs -I{} echo "blade_scripts:{}"';
|
||||
$agents['token_keys'] = 'ls /var/www/html/api/blade-tasks/key_*.json 2>/dev/null | wc -l | xargs -I{} echo "keys_today:{}"';
|
||||
|
||||
/* Quality gates */
|
||||
$agents['pages_500'] = 'for p in index enterprise-model architecture sales-hub erp-launchpad; do CODE=$(curl -sk --max-time 1 -o/dev/null -w "%{http_code}" http://127.0.0.1:5890/$p.html -H "Host: weval-consulting.com"); [ "$CODE" != "200" ] && echo "$p:$CODE" || true; done 2>/dev/null; echo "done"';
|
||||
|
||||
/* === PARALLEL FORK EXECUTION === */
|
||||
header('Content-Type: text/event-stream');
|
||||
header('Cache-Control: no-cache');
|
||||
header('X-Accel-Buffering: no');
|
||||
|
||||
function sse_v77($data) {
|
||||
echo 'data: ' . json_encode($data) . "\n\n";
|
||||
@ob_flush(); @flush();
|
||||
}
|
||||
|
||||
sse_v77(['type'=>'start','task'=>'V77 parallel executor','agents_total'=>count($agents),'ts'=>date('H:i:s')]);
|
||||
|
||||
$V77_WORKDIR = '/tmp/v77_par_' . time() . '_' . bin2hex(random_bytes(3));
|
||||
@mkdir($V77_WORKDIR, 0755, true);
|
||||
|
||||
/* Launch all agents in background */
|
||||
$t_start = microtime(true);
|
||||
$pids = [];
|
||||
foreach ($agents as $id => $cmd) {
|
||||
$outfile = "{$V77_WORKDIR}/{$id}.out";
|
||||
/* Each agent: timeout 3s max, write output to file, exit */
|
||||
$bg = "timeout 3 bash -c " . escapeshellarg($cmd) . " > $outfile 2>&1 &";
|
||||
@shell_exec($bg);
|
||||
$pids[$id] = $outfile;
|
||||
}
|
||||
|
||||
/* Poll for results with deadline */
|
||||
$deadline = microtime(true) + 6; // 6s max wait (3s agent + margin)
|
||||
$done = [];
|
||||
while (microtime(true) < $deadline && count($done) < count($pids)) {
|
||||
foreach ($pids as $id => $outfile) {
|
||||
if (isset($done[$id])) continue;
|
||||
if (!file_exists($outfile)) continue;
|
||||
clearstatcache(true, $outfile);
|
||||
/* File stable for at least 100ms = done */
|
||||
$age_ms = (microtime(true) - filemtime($outfile)) * 1000;
|
||||
if ($age_ms < 100) continue;
|
||||
$out = @file_get_contents($outfile);
|
||||
$done[$id] = trim($out) ?: '(empty)';
|
||||
sse_v77([
|
||||
'type'=>'agent',
|
||||
'id'=>$id,
|
||||
'result'=>substr($done[$id], 0, 400),
|
||||
'progress'=> round(count($done) / count($pids) * 100)
|
||||
]);
|
||||
}
|
||||
usleep(100000); // 100ms
|
||||
}
|
||||
|
||||
/* Anything still missing = timeout */
|
||||
foreach ($pids as $id => $outfile) {
|
||||
if (!isset($done[$id])) {
|
||||
$done[$id] = 'TIMEOUT_6S';
|
||||
sse_v77([
|
||||
'type'=>'agent',
|
||||
'id'=>$id,
|
||||
'result'=>'TIMEOUT_6S',
|
||||
'progress'=>100
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
$elapsed_ms = (microtime(true) - $t_start) * 1000;
|
||||
|
||||
/* Summary */
|
||||
sse_v77([
|
||||
'type'=>'done',
|
||||
'agents_total'=>count($agents),
|
||||
'agents_done'=>count($done),
|
||||
'agents_timeout'=>count($agents) - count(array_filter($done, function($v){return $v !== 'TIMEOUT_6S';})),
|
||||
'elapsed_ms'=>round($elapsed_ms),
|
||||
'parallel_gain'=>'~10x vs sequential',
|
||||
'workdir'=>$V77_WORKDIR
|
||||
]);
|
||||
|
||||
/* Cleanup workdir after 5 min via at / no-op for now */
|
||||
|
||||
exit;
|
||||
@@ -7,7 +7,7 @@ return array (
|
||||
1 => 'renew deepseek session',
|
||||
2 => 'deepseek cookie refresh',
|
||||
),
|
||||
'cmd' => 'echo capability selenium deepseek renew ; renew session cookies deepseek web every 24h via chrome blade yacineutt ; service deepseek-web.service active ; cookies stored /opt/weval-l99/deepseek-cookies.json',
|
||||
'cmd' => 'echo \'capability selenium deepseek renew ; renew session cookies deepseek web every 24h via chrome blade yacineutt ; service deepseek-web.service active ; cookies stored /opt/weval-l99/deepseek-cookies.json\'',
|
||||
'status' => 'PENDING_APPROVAL',
|
||||
'created_at' => '2026-04-19T13:49:07+00:00',
|
||||
'source' => 'opus4-autowire-early-v2',
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
return array (
|
||||
'name' => 'selenium_deepseek_renew',
|
||||
'triggers' =>
|
||||
array (
|
||||
0 => 'selenium deepseek renew',
|
||||
1 => 'renew deepseek session',
|
||||
2 => 'deepseek cookie refresh',
|
||||
),
|
||||
'cmd' => 'echo capability selenium deepseek renew ; renew session cookies deepseek web every 24h via chrome blade yacineutt ; service deepseek-web.service active ; cookies stored /opt/weval-l99/deepseek-cookies.json',
|
||||
'status' => 'PENDING_APPROVAL',
|
||||
'created_at' => '2026-04-19T13:49:07+00:00',
|
||||
'source' => 'opus4-autowire-early-v2',
|
||||
);
|
||||
@@ -7,7 +7,7 @@ return array (
|
||||
1 => 'create office account',
|
||||
2 => 'new outlook account',
|
||||
),
|
||||
'cmd' => 'echo capability selenium office create ; via chrome yacineutt sur blade razer ; pattern signup outlook.com ou office365 ; wire vers /api/blade-agent.php?k=blade2026 with goal=create_office_account ; nb pending acquired comptes 2436 s95',
|
||||
'cmd' => 'echo \'capability selenium office create ; via chrome yacineutt sur blade razer ; pattern signup outlook.com ou office365 ; wire vers /api/blade-agent.php?k=blade2026 with goal=create_office_account ; nb pending acquired comptes 2436 s95\'',
|
||||
'status' => 'PENDING_APPROVAL',
|
||||
'created_at' => '2026-04-19T13:49:05+00:00',
|
||||
'source' => 'opus4-autowire-early-v2',
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
return array (
|
||||
'name' => 'selenium_office_create',
|
||||
'triggers' =>
|
||||
array (
|
||||
0 => 'selenium office create',
|
||||
1 => 'create office account',
|
||||
2 => 'new outlook account',
|
||||
),
|
||||
'cmd' => 'echo capability selenium office create ; via chrome yacineutt sur blade razer ; pattern signup outlook.com ou office365 ; wire vers /api/blade-agent.php?k=blade2026 with goal=create_office_account ; nb pending acquired comptes 2436 s95',
|
||||
'status' => 'PENDING_APPROVAL',
|
||||
'created_at' => '2026-04-19T13:49:05+00:00',
|
||||
'source' => 'opus4-autowire-early-v2',
|
||||
);
|
||||
@@ -7,7 +7,7 @@ return array (
|
||||
1 => 'thuggie session',
|
||||
2 => 'thuggie cookies',
|
||||
),
|
||||
'cmd' => 'echo capability selenium thuggie web - alt ia gratuite via cookies session ; renew weekly via chrome blade yacineutt ; integration future provider weval sovereign cascade',
|
||||
'cmd' => 'echo \'capability selenium thuggie web - alt ia gratuite via cookies session ; renew weekly via chrome blade yacineutt ; integration future provider weval sovereign cascade\'',
|
||||
'status' => 'PENDING_APPROVAL',
|
||||
'created_at' => '2026-04-19T13:49:07+00:00',
|
||||
'source' => 'opus4-autowire-early-v2',
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
return array (
|
||||
'name' => 'selenium_thuggie_web',
|
||||
'triggers' =>
|
||||
array (
|
||||
0 => 'thuggie web',
|
||||
1 => 'thuggie session',
|
||||
2 => 'thuggie cookies',
|
||||
),
|
||||
'cmd' => 'echo capability selenium thuggie web - alt ia gratuite via cookies session ; renew weekly via chrome blade yacineutt ; integration future provider weval sovereign cascade',
|
||||
'status' => 'PENDING_APPROVAL',
|
||||
'created_at' => '2026-04-19T13:49:07+00:00',
|
||||
'source' => 'opus4-autowire-early-v2',
|
||||
);
|
||||
@@ -1,14 +1,15 @@
|
||||
<?php
|
||||
return array (
|
||||
return array(
|
||||
'name' => 'tip_opus46_mythos',
|
||||
'triggers' =>
|
||||
array (
|
||||
0 => 'opus 4.6',
|
||||
1 => 'mythos opus',
|
||||
2 => 'opus 46 mythos',
|
||||
'triggers' => array(
|
||||
0 => 'tip opus 4.6 mythos',
|
||||
1 => 'opus46 tips',
|
||||
2 => 'opus 4.6 mythos',
|
||||
3 => 'opus tips mythos',
|
||||
),
|
||||
'cmd' => 'echo tip opus 4.6 mythos - 6 mois d apprentissage yacine + opus 4.6 ; 19 doctrines internalisees ; auto-sync via 4 instances claude (yacine + yanis + amber + opus wire) ; train commits release management 8+ commits horaire',
|
||||
'cmd' => 'cat /opt/weval-l99/mythos-opus46-catalog.json',
|
||||
'status' => 'PENDING_APPROVAL',
|
||||
'created_at' => '2026-04-19T13:59:31+00:00',
|
||||
'created_at' => '2026-04-18T12:36:17+00:00',
|
||||
'source' => 'opus4-autowire-early-v2',
|
||||
'fixed_by' => 'Opus WIRE 19-avr doctrine 88 - cmd was placeholder description, now real cat of mythos catalog',
|
||||
);
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
return array (
|
||||
'name' => 'tip_opus46_mythos',
|
||||
'triggers' =>
|
||||
array (
|
||||
0 => 'opus 4.6',
|
||||
1 => 'mythos opus',
|
||||
2 => 'opus 46 mythos',
|
||||
),
|
||||
'cmd' => 'echo tip opus 4.6 mythos - 6 mois d apprentissage yacine + opus 4.6 ; 19 doctrines internalisees ; auto-sync via 4 instances claude (yacine + yanis + amber + opus wire) ; train commits release management 8+ commits horaire',
|
||||
'status' => 'PENDING_APPROVAL',
|
||||
'created_at' => '2026-04-19T13:59:31+00:00',
|
||||
'source' => 'opus4-autowire-early-v2',
|
||||
);
|
||||
File diff suppressed because one or more lines are too long
491
cartographie-screens.html.pre-autodisc-20260419_161004
Normal file
491
cartographie-screens.html.pre-autodisc-20260419_161004
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user