Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline (Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/* packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
55 lines
2.3 KiB
TypeScript
55 lines
2.3 KiB
TypeScript
import { createDb } from "../packages/db/src/index.js";
|
|
|
|
async function run() {
|
|
const { prisma } = createDb("postgres://ingowagner@127.0.0.1:5432/evoo");
|
|
const session = await prisma.session.findFirst({ orderBy: { createdAt: "desc" } });
|
|
if (!session) throw new Error("No session");
|
|
|
|
const quant = await prisma.bot.findFirst({ where: { name: "Apex Quant" } });
|
|
const architect = await prisma.bot.findFirst({ where: { name: "Code Architect" } });
|
|
const devops = await prisma.bot.findFirst({ where: { name: "DevOps Engineer" } });
|
|
const auditor = await prisma.bot.findFirst({ where: { name: "Security & QA Auditor" } });
|
|
|
|
const tasks = [
|
|
{
|
|
bot: quant,
|
|
text: "Sprint 1 (Quantitative Validation):\nPrüfe mit dem shell-Tool die mathematische Präzision in `apex-trading/src/engine/trader.py`. Führe `python3 -m unittest discover -s apex-trading/tests` im Terminal aus. Aktualisiere anschließend deine `TODO.md` mit den Ergebnissen.",
|
|
},
|
|
{
|
|
bot: architect,
|
|
text: "Sprint 1 (Architecture Blueprint):\nUntersuche mit dem shell- oder file-Tool die Projektstruktur in `apex-trading/` und `evoo-platform/`. Prüfe die saubere Trennung und dokumentiere den Modulaufbau in `ARCHITECTURE.md`. Aktualisiere deine `TODO.md`.",
|
|
},
|
|
{
|
|
bot: devops,
|
|
text: "Sprint 1 (Infrastructure & Healthcheck):\nPrüfe mit dem shell-Tool die Umgebung: Python-Version, Node-Version und das Script `deploy.sh`. Teste, ob alle Abhängigkeiten vorhanden sind und aktualisiere deine `TODO.md`.",
|
|
},
|
|
{
|
|
bot: auditor,
|
|
text: "Sprint 1 (Security & Edge Cases):\nAnalysiere `apex-trading/` auf potenzielle Division-by-Zero-Risiken, Typkonvertierungsfehler und Edge-Cases. Erstelle eine `BUGS.md` und aktualisiere deine `TODO.md`.",
|
|
},
|
|
];
|
|
|
|
for (const t of tasks) {
|
|
if (!t.bot) continue;
|
|
console.log(`Sending Sprint 1 task to ${t.bot.name}...`);
|
|
const res = await fetch("http://127.0.0.1:3100/rpc/threads/send", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${session.token}`,
|
|
},
|
|
body: JSON.stringify({
|
|
json: {
|
|
botId: t.bot.id,
|
|
text: t.text,
|
|
},
|
|
}),
|
|
});
|
|
console.log(` ${t.bot.name} send status: ${res.status}`);
|
|
}
|
|
}
|
|
|
|
run()
|
|
.catch(console.error)
|
|
.finally(() => process.exit(0));
|