Files
claude 9ef6f286a9 config: the ecosystem trio and the workstation get their own files (V-410)
Pure move. Praxis, Nexus and Hexis go to ecosystem.go with a note on why
they stay three identical two-field types instead of one shared
EndpointConfig: the block a reader greps for is the service they are
debugging. The workstation block, its two defaults and its normalise arm go
to workstation.go.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 01:18:13 +04:00

42 lines
1.7 KiB
Go

package config
// The ecosystem trio. Maven owns conversation and personal memory; it owns
// neither identity, nor operational state, nor execution. Each of these three
// is nil unless configured and each degrades on its own — an outage is a named
// gap in the answer, never a broken turn and never a guess. See docs/ecosystem.md.
//
// All three carry the same two fields, and they stay three types rather than one
// shared EndpointConfig on purpose: the block a reader greps for is the service
// they are debugging, and a shared type would put "url" in one place for three
// different trust levels.
// PraxisConfig — maven's connection to the Praxis attention service.
type PraxisConfig struct {
// URL — the Praxis HTTP API base URL (e.g. "http://localhost:9742").
URL string `json:"url,omitempty"`
// Token — the shared bearer token sent on every request. Empty ⇒ calls
// go out unauthenticated, which is only appropriate on a loopback or
// unix-socket transport. Supports ${VAR} expansion, so the secret lives
// in deploy/telegram.env, not in the committed config.
Token string `json:"token,omitempty"`
}
// NexusConfig — connection to the Nexus identity service.
type NexusConfig struct {
// URL — the Nexus HTTP API base URL (e.g. "http://localhost:9740").
URL string `json:"url,omitempty"`
// Token — shared bearer token; see PraxisConfig.Token.
Token string `json:"token,omitempty"`
}
// HexisConfig — connection to the Hexis capability execution service.
type HexisConfig struct {
// URL — the Hexis HTTP API base URL (e.g. "http://localhost:9741").
URL string `json:"url,omitempty"`
// Token — shared bearer token; see PraxisConfig.Token.
Token string `json:"token,omitempty"`
}