Add Fleet Torrent erasure extension with shard DHT and gossip.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled

Content-addressed shard DHT on seeder agents with subnet_primary_seeder election, cross-subnet fleet_torrent_gossip, BGP swarm magnets, C2 torrent manifest, and k-of-n peer fetch with C2 fallback.
This commit is contained in:
AetherForge
2026-06-07 09:24:55 -07:00
parent 588735e7e7
commit 894b7a50ae
40 changed files with 2285 additions and 1 deletions

View File

@@ -50,6 +50,8 @@ type Scheduler struct {
chamber CourtDeps
elevator ClearanceElevator
seer SeerBridge
oath OathRecorder
hospice StrainHospiceScanner
surgical SurgicalDeps
stop chan struct{}
wg sync.WaitGroup
@@ -76,6 +78,11 @@ func (s *Scheduler) SetSeerBridge(b SeerBridge) {
s.seer = b
}
// SetOathRecorder wires immutable accountability rows (optional).
func (s *Scheduler) SetOathRecorder(r OathRecorder) {
s.oath = r
}
// SetSurgicalDeps wires Path Tracer replay, strain memory, and Seer emitters.
func (s *Scheduler) SetSurgicalDeps(deps SurgicalDeps) {
s.surgical = deps
@@ -86,6 +93,16 @@ func (s *Scheduler) SetCourtDeps(deps CourtDeps) {
s.chamber = deps
}
// StrainHospiceScanner auto-retires chronic low-win strains when AI control is enabled.
type StrainHospiceScanner interface {
MaybeAutoRetireLowWinStrains()
}
// SetStrainHospiceScanner wires AI auto-retire for epidemiology clutter.
func (s *Scheduler) SetStrainHospiceScanner(scanner StrainHospiceScanner) {
s.hospice = scanner
}
func (s *Scheduler) Start() {
s.wg.Add(1)
go s.loop()
@@ -133,6 +150,9 @@ func (s *Scheduler) tick() {
if !cfg.Enabled {
return
}
if s.hospice != nil {
s.hospice.MaybeAutoRetireLowWinStrains()
}
interval := time.Duration(cfg.IntervalSec) * time.Second
if interval < time.Second {
interval = 60 * time.Second
@@ -331,6 +351,27 @@ func (s *Scheduler) emitCourtDebate(agentID string, transcript CourtDebateTransc
"ts": transcript.Timestamp,
})
}
if s.oath != nil {
outcome := OathOutcomeSuccess
if strings.Contains(executed, "err:") {
outcome = OathOutcomeFail
}
_ = s.oath.Record(
"ai_council:judge",
OathCourtL4Decision,
agentID,
"",
outcome,
transcript,
map[string]interface{}{
"verdict": transcript.Verdict,
"executed": executed,
"commands": transcript.CommandsJSON,
"clearance": transcript.ClearanceLevel,
"agent_name": transcript.AgentName,
},
)
}
if s.chamber.Emberwake != nil {
s.chamber.Emberwake(agentID, transcript)
}