app: composition root (A1-A4), Run(ctx), handleIncoming (вариант A), фикс config.Load(""), GetActiveTaskByChatID, main.go обновлён
All checks were successful
build-test / build (push) Successful in 35s
All checks were successful
build-test / build (push) Successful in 35s
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
// Command ratatoskr — оркестратор конвейера Ratatoskr (единственный бинарь).
|
||||
// Command ratatoskr — оркестратор конвейера Ratatoskr (единый бинарь).
|
||||
//
|
||||
// Стартовый каркас: точка входа + заглушки пакетов. Полная логика
|
||||
// (диалог, аналитик, research, feedback, webhook) наполняется по мере
|
||||
// переезда с Python.
|
||||
// Запуск: ratatoskr [-config config.yaml]
|
||||
// config.yaml ищется в CWD, по умолчанию — env/дефолты.
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
@@ -15,7 +15,7 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
cfg := flag.String("config", "", "путь к config файлу (по умолчанию — env)")
|
||||
cfg := flag.String("config", "", "путь к config.yaml (по умолчанию — CWD/config.yaml)")
|
||||
version := flag.Bool("version", false, "показать версию и выйти")
|
||||
flag.Parse()
|
||||
|
||||
@@ -24,21 +24,20 @@ func main() {
|
||||
return
|
||||
}
|
||||
|
||||
// Composition root: читает конфиг (env/config), настраивает DI.
|
||||
a, err := app.New(*cfg)
|
||||
if err != nil {
|
||||
log.Fatalf("app init: %v", err)
|
||||
}
|
||||
defer func() {
|
||||
if a.Store != nil {
|
||||
a.Store.Close()
|
||||
}
|
||||
}()
|
||||
|
||||
// Пока: заглушка. Здесь будет:
|
||||
// - запуск Telegram-gateway (диалог)
|
||||
// - http-сервер webhook (+ /feedback, /status)
|
||||
// - воркер: обработка issues → opencode-субагенты → PR
|
||||
_ = a
|
||||
os.Exit(run())
|
||||
}
|
||||
|
||||
func run() int {
|
||||
fmt.Fprintln(os.Stderr, "ratatoskr-go: каркас готов, конвейер не подключён")
|
||||
return 0
|
||||
log.Print("ratatoskr: запущен")
|
||||
if err := a.Run(context.Background()); err != nil {
|
||||
log.Fatalf("app run: %v", err)
|
||||
}
|
||||
log.Print("ratatoskr: остановлен")
|
||||
os.Exit(0)
|
||||
}
|
||||
Reference in New Issue
Block a user