ca243a2d50
executus CI / test (push) Failing after 24s
Batteries-included agent-harness base, extracted from mort's agent layer. This first cut establishes the module + the zero-coupling core primitives: - lane, dispatchguard, pendingattach, run/progress.go: moved verbatim from mort - config: host config Source seam + env-var default (nil-safe helpers) - deliver: output-egress seam + Discard/Stdout defaults - identity: AdminPolicy + MemberResolver seams (nil-safe) - fanout: programmatic N×M swarm (bounded global + per-key concurrency) - README/CLAUDE.md with the vibe-coded banner; CI with Go gates + the "core stays majordomo+stdlib only" invariant Core builds with stdlib only today; majordomo enters at P1 (model/structured). go build/vet/test -race all green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
28 lines
864 B
Go
28 lines
864 B
Go
// Command minimal demonstrates executus's standalone core primitives available
|
||
// today (P0): the config seam + bounded fan-out. The full zero-config "agentic
|
||
// in ~12 lines" example arrives once the model, tool, and run packages land
|
||
// (P1–P3).
|
||
package main
|
||
|
||
import (
|
||
"context"
|
||
"fmt"
|
||
|
||
"gitea.stevedudenhoeffer.com/steve/executus/config"
|
||
"gitea.stevedudenhoeffer.com/steve/executus/fanout"
|
||
)
|
||
|
||
func main() {
|
||
cfg := config.Env("EXECUTUS_") // e.g. EXECUTUS_FANOUT_MAX_CONCURRENT=8
|
||
max := cfg.Int("fanout.max_concurrent", 4)
|
||
|
||
items := []string{"alpha", "beta", "gamma", "delta"}
|
||
results := fanout.Run(context.Background(), items,
|
||
fanout.Options[string]{MaxConcurrent: max},
|
||
func(_ context.Context, s string) (int, error) { return len(s), nil })
|
||
|
||
for _, r := range results {
|
||
fmt.Printf("%-6s -> %d (err=%v)\n", items[r.Index], r.Value, r.Err)
|
||
}
|
||
}
|