Problem
ChainStepStatus.Output in chain_types.go:96 is an unbounded string stored in CR status. Knights returning large reports (common in morning briefing with 8 parallel steps) can exceed etcd's 1.5MB object limit, causing status updates to fail and chains to hang.
Impact
- Chain controller hangs when it can't update status
- Morning briefing with 8 verbose knight reports is the most likely trigger
- Silent failure — no error surfaced to the user
Proposed Fix
- Truncate output in status to 32KB with a
[truncated] marker
- Store full output in a ConfigMap or NATS KV bucket
- Add
outputRef field to ChainStepStatus pointing to the full output location
References
- Architecture review:
drafts/roundtable-architecture-review.md (C4)
- File:
roundtable-operator/api/v1alpha1/chain_types.go
Problem
ChainStepStatus.Outputinchain_types.go:96is an unbounded string stored in CR status. Knights returning large reports (common in morning briefing with 8 parallel steps) can exceed etcd's 1.5MB object limit, causing status updates to fail and chains to hang.Impact
Proposed Fix
[truncated]markeroutputReffield toChainStepStatuspointing to the full output locationReferences
drafts/roundtable-architecture-review.md(C4)roundtable-operator/api/v1alpha1/chain_types.go