Files
Agent-System/cmd/dataset/main.go
T
weichenandCursor be0c1e843f feat(dataset): registry, pause/resume backfill, destroy gates, eight tracks
批准 dataset 分类入库;SKIP LOCKED 分批;销毁默认 fail closed。restore 演练拒绝共享 env DSN。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 02:40:12 +00:00

86 lines
2.0 KiB
Go

package main
import (
"context"
"encoding/json"
"fmt"
"os"
"path/filepath"
"chat-agent-system/internal/dataset"
"github.com/jackc/pgx/v5/pgxpool"
)
func main() {
if len(os.Args) < 2 {
fmt.Fprintln(os.Stderr, "usage: dataset <tracks|registry-import|backfill|destroy-preflight> ...")
os.Exit(2)
}
switch os.Args[1] {
case "tracks":
root, _ := os.Getwd()
path := filepath.Join(root, "internal/dataset/testdata/registry.json")
if len(os.Args) > 2 {
path = os.Args[2]
}
rs := dataset.RunEightTracks(context.Background(), path)
enc := json.NewEncoder(os.Stdout)
enc.SetIndent("", " ")
_ = enc.Encode(rs)
if err := dataset.AllTracksPass(rs); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
case "destroy-preflight":
raw, err := os.ReadFile(os.Args[2])
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
var req dataset.DestroyRequest
if err := json.Unmarshal(raw, &req); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
if err := dataset.EvaluateDestroy(req); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
fmt.Println("destroy-preflight PASS")
case "registry-import":
if len(os.Args) < 4 {
fmt.Fprintln(os.Stderr, "usage: dataset registry-import <dsn> <registry.json>")
os.Exit(2)
}
dsn := os.Args[2]
if err := dataset.RefuseOperationalDSN(dsn, dsn); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
reg, err := dataset.LoadRegistryFile(os.Args[3])
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
ctx := context.Background()
pool, err := pgxpool.New(ctx, dsn)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
defer pool.Close()
pg := &dataset.PG{Pool: pool}
for _, d := range reg.ListApproved() {
if err := pg.UpsertDataset(ctx, d); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}
fmt.Printf("imported %d approved datasets\n", len(reg.ListApproved()))
default:
fmt.Fprintln(os.Stderr, "unknown command")
os.Exit(2)
}
}