Skip to content

docs: SeiNodeTask CRD operator reference (PLT-488)#404

Merged
bdchatham merged 3 commits into
mainfrom
plt-488-seinodetask-docs
Jun 12, 2026
Merged

docs: SeiNodeTask CRD operator reference (PLT-488)#404
bdchatham merged 3 commits into
mainfrom
plt-488-seinodetask-docs

Conversation

@bdchatham

Copy link
Copy Markdown
Collaborator

Adds docs/seinode-task.md, the operator/automation reference for the SeiNodeTask CRD. Captures the operational knowledge that isn't derivable from the godoc/LLD — surfaced during the arctic-1 governance op (platform #995).

Covers: kinds + non-obvious behavior notes; lifecycle (deterministic task ID = UUIDv5(UID,kind,0), terminal requirePhase timeout); conditions + reason enums; the 3-branch operator-key signing chain; chain-vs-controller idempotency; the status.outputs-unpopulated reality (overrides the misleading godoc); GitOps patterns; reconciliation cadence + the fee-floor / value-encoding / voting-window gotchas; a vote-fan-out example. README link + a CLAUDE.md note (its headings are cited anchors for the PLT-489 gov-ops skill).

Design (Coral-signed-off by kubernetes-specialist, prose-steward, product-manager): bdchatham-designs designs/wave/seinode-task-crd-docs.md.

Closes PLT-488.

🤖 Generated with Claude Code

Adds docs/seinode-task.md — the operator/automation reference for SeiNodeTask:
kinds + non-obvious behavior notes, lifecycle (deterministic task ID, terminal
requirePhase timeout), conditions + reason enums, the 3-branch operator-key signing
chain, chain-vs-controller idempotency, the status.outputs-unpopulated reality
(overrides the godoc), GitOps patterns, reconciliation cadence + the fee-floor /
value-encoding / voting-window gotchas, and a vote-fan-out example. Links it from
the README and notes in CLAUDE.md that its headings are cited anchors for PLT-489.

Design: bdchatham-designs designs/wave/seinode-task-crd-docs.md (Coral-signed-off).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cursor

cursor Bot commented Jun 12, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Documentation and comment-only API doc changes; no controller or runtime behavior changes.

Overview
Adds docs/seinode-task.md, an operator/automation guide for SeiNodeTask that documents behavior not obvious from godoc/LLD: kinds and behavior notes, lifecycle (deterministic task ID, terminal requirePhase timeout), conditions/reasons, operator-key signing, idempotency layers, the fact that status.outputs is mostly empty, GitOps patterns, reconciliation cadence, and governance gotchas (fees, param JSON, voting window), plus a vote fan-out YAML example. Section headings are flagged as stable anchors for the PLT-489 gov-ops skill.

README links to the new doc under a SeiNodeTask subsection. CLAUDE.md requires keeping docs/seinode-task.md in sync when task kinds or operational behavior change, with the same anchor warning.

api/v1alpha1/seinodetask_types.go only updates the TargetReady condition comment to list reasons PhaseMet / PhaseNotMet (drops Resolving / ResolveTimeout), matching current controller behavior.

Reviewed by Cursor Bugbot for commit 1a3b1a3. Bugbot is set up for automated code reviews on this repo. Configure here.

- Add RestartSeid + MarkReady kinds (now wired in the enum)
- timeoutSeconds measured from status.task.executionStartedAt; 0 = per-kind
  default (RestartSeid 10m / MarkReady 2m), not universally unbounded
- TargetReady reasons are PhaseMet/PhaseNotMet only; Failed adds ParamsBuildFailed
- ObservedGeneration IS set (setCondition harmonized) — drop the stale caveat
- Signing: resolveSigningUID takes explicit keyName, else ResolveOperatorKeyringUID
- Stabilize the status.outputs heading; trim a redundant trailing line
…Met)

Comment-only: the controller no longer emits Resolving/ResolveTimeout; drop them
from the ConditionSeiNodeTaskTargetReady godoc so it matches docs/seinode-task.md.
@bdchatham bdchatham merged commit 15d97c2 into main Jun 12, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant