Files
Assistant/cmd/cognitive-benchmark/realityeval/main.go
m 7759d8257e
CI / test (push) Successful in 18s
CI / test (pull_request) Successful in 16s
DEV-000070 add reality evaluation baseline harness
2026-08-17 21:19:14 +03:00

54 lines
1.4 KiB
Go

package main
import (
"encoding/json"
"flag"
"fmt"
"os"
"path/filepath"
"strings"
"time"
realityevaluation "git.cin.su/m/Assistant/tests/reality_evaluation"
)
func main() {
suitePath := flag.String("suite", "", "path to versioned reality-evaluation suite JSON")
outputPath := flag.String("output", "", "path to JSON artifact output")
observedAt := flag.String("observed-at", "2026-08-17T12:00:00Z", "RFC3339 timestamp for reproducible artifact generation")
flag.Parse()
if *suitePath == "" || *outputPath == "" {
fatal(fmt.Errorf("suite and output are required"))
}
at, err := time.Parse(time.RFC3339, *observedAt)
if err != nil {
fatal(err)
}
suite, err := realityevaluation.LoadSuite(*suitePath)
if err != nil {
fatal(err)
}
artifact, err := realityevaluation.RunSuite(suite, at)
if err != nil {
fatal(err)
}
payload, err := json.MarshalIndent(artifact, "", " ")
if err != nil {
fatal(err)
}
payload = append(payload, '\n')
if err := os.WriteFile(*outputPath, payload, 0o600); err != nil {
fatal(err)
}
reportPath := strings.TrimSuffix(*outputPath, filepath.Ext(*outputPath)) + ".md"
if err := os.WriteFile(reportPath, []byte(realityevaluation.MarkdownReport(artifact)), 0o600); err != nil {
fatal(err)
}
fmt.Printf("artifact=%s total_cases=%d output=%s report=%s\n", artifact.ArtifactID, artifact.TotalCases, *outputPath, reportPath)
}
func fatal(err error) {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}