Decide controller-segment metadata columns #14
Notifications
Due Date
No due date set.
Blocks
#13 Define cross-cutting acceptance criteria
xavierk/Fenris
Reference: xavierk/Fenris#14
Reference in New Issue
Block a user
Parent map: Chart Fenris's persistent TUI monitoring redesign
Question
Beyond the identity key, should controller segments record
sn,mn,fr,subnqnplusvid/ssvid/cntlid/transportnow (cheap, enables future composite needs per the controller-identity research), or stay minimal? Decide against ADR 0001's entity list.Resolution
Settled in one grilling round; all four recommendations accepted as proposed.
Core metadata set. Every controller-segment row carries normalized
subnqn,sn,mn,fr(space-stripped, no case folding, per the controller-identity decision) plus theidentity_degradedflag from the blank-key rule. Diagnostics for humans, never key components.Extended metadata. Record
vid,ssvid,transportnow; skipcntlid.vid/ssvidare the inputs to the kernel-composite fallback NQN, so storing them lets a stored identity key be explained after the fact;transport(pcievsloop/fc) is the cheap smell-test for ephemeral virtual controllers. All arrive free in the same sysfs read.cntliddistinguishes controllers within one subsystem — out of scope for a single-drive monitor, and recoverable later by a forward migration if that ever changes.Within-segment semantics. Frozen snapshot at segment open, immutable thereafter. The row is "the identity evidence that opened this segment," as immutable as the key it justifies.
frmay go stale after a mid-segment firmware update — a cosmetic cost; a firmware-induced counter reset is already caught by the DUW-monotonic axis, not byfr.NULL semantics. All metadata columns nullable; no placeholder values. Legacy-imported segments carry
mnplus NULLs (matching the model-scoped legacy identity); degraded segments carry whatever was actually observed. Incompleteness stays explicit, mirroring the endurance-baseline decision's NULL-for-missing-provenance pattern.Amends ADR 0001 — the
controller_segmentsentity now specifies the snapshot (commit 305bdd4).