STEP 1573 — Tango 5 値 ↔ Rei D-FUMT₈ 8 値 mapping
要旨
Rei D-FUMT₈ 八値論理 {TRUE, FALSE, BOTH, NEITHER, INFINITY, ZERO, FLOWING, SELF} は、 Tango Controls (欧州シンクロトロン + 加速器施設で 数十年運用実績、 tango-controls.org) の 5 値 attribute quality flag {ATTR_VALID, ATTR_INVALID, ATTR_ALARM, ATTR_WARNING, ATTR_CHANGING} を proper superset として含む。 Rei 独自 3 値 INFINITY / ZERO / SELF は hardware 領域で 未対応の semantic gap を埋める形になっている。
本 STEP は STEP 1569 (別 tab、 design-import register + Ophyd 読解) の tango 3-mapping table cell summary を、 5 → 8 全 mapping + rationale + hardware context に expand する 補完 doc。 実装ゼロ、 memory + site 反映 のみ。
Full mapping table (5 → 8)
| Tango attr quality | Rei D-FUMT₈ | Semantic rationale | 典型 emit context |
|---|---|---|---|
| ATTR_VALID | TRUE | measurement OK、 nominal operating range 内、 downstream 消費可 | 正常 read (default flag) |
| ATTR_INVALID | NEITHER | value undefined / uninterpretable、 「読めなかった」 明示 (not 単なる missing) | sensor 起動前 / communication timeout / calibration 未完 |
| ATTR_ALARM | BOTH | 閾値超過 = 値は取れた (TRUE 側) が safety violation (FALSE 側)、 同時保持 | 温度 min/max 超過、 pressure limit 突破 |
| ATTR_WARNING | FLOWING | 正常 / alarm の 境界近傍、 「今は valid だが drift 中で 近いうちに alarm 化」 の trajectory | 閾値の 90% 超過、 baseline drift 検出 |
| ATTR_CHANGING | FLOWING | 過渡状態、 未安定、 measurement は取れているが settle time 未達 | set 直後、 motor 移動中、 温度 ramping |
Rei 独自 3 値 (hardware context)
| D-FUMT₈ | hardware での意味 | Tango 相当なし → gap 埋め | Rei stack 内 既 usage |
|---|---|---|---|
| INFINITY | 測定限界超過 = sensor range を 超えた「読み取れないほど大きい」 状態、 NaN/+Inf と 区別 (計測範囲 out-of-scale) |
Tango は ALARM に 潰す (max threshold 超過扱い)、 「範囲外」 と 「安全違反」 を区別しない |
STEP 1567 disk_health_verdict の extreme case (温度 > 80°C or reallocated ≥ 100)、 STEP 1348 physics-limits pre-flight (Bekenstein/Landauer/Lloyd 上限) |
| ZERO | 「観測がまだ始まっていない」 / 「data source 未接続」 = 実際に 0.0 を測定したのではない、 data 不在 | Tango は INVALID に潰す、 「接続なし」 と 「起動前」 と 「calibration 未完」 と 「読取失敗」 を区別しない |
STEP 1567 disk_health_verdict の no_data case、 別 tab STEP 1569 で 「全 tool 統一」 提案中 (ophyd-async NotConnectedError 1st-class pattern 移植) |
| SELF | self-referential fixed-point、 measurement が 自分自身を 計測対象に含む場合の 論理的整合性 flag | Tango には概念なし (hardware 計測は 自己言及回避 が 暗黙前提) | STEP 1509 lyapunov (系の 自己 stability)、 STEP 1541 flow_state_verdict (converging_flow の fixed-point 判定)、 D-FUMT₈ verdict の SELF category |
Proper superset argument
Rei D-FUMT₈ 8 値 ⊃ Tango 5 値 の 論理関係 (surjection with 3-value extension):
Tango → Rei D-FUMT₈ mapping is:
φ: {ATTR_VALID, ATTR_INVALID, ATTR_ALARM, ATTR_WARNING, ATTR_CHANGING}
→ {TRUE, FALSE, BOTH, NEITHER, INFINITY, ZERO, FLOWING, SELF}
φ(ATTR_VALID) = TRUE
φ(ATTR_INVALID) = NEITHER
φ(ATTR_ALARM) = BOTH
φ(ATTR_WARNING) = FLOWING
φ(ATTR_CHANGING) = FLOWING
Image(φ) = {TRUE, NEITHER, BOTH, FLOWING} ⊊ D-FUMT₈
Not-in-image = {FALSE, INFINITY, ZERO, SELF}
Note: FALSE (measurement was performed and returned 'this is not the case')
も Tango 5 値には直接対応なし。 Tango の ATTR_INVALID は
「読み取れなかった」 の意味であり、 「読めたが false」 は
Boolean attribute + ATTR_VALID quality の 組合せで表現される。
Rei は quality と truth-value を 単一 primitive に統合するため、
hardware quality flag layer では 5 値中 4 値に mapping。
Paper 145 v0.8 candidate: novelty claim (controllable side)
Rei D-FUMT₈ の hardware layer novelty を controllable claim として 定式化:
- D-FUMT₈ 8 値は Tango Controls 5 値 quality flag prior art の proper 3-value extension (INFINITY / ZERO / SELF の 3 semantic gap を埋める)
- 加速器施設・シンクロトロン・大型望遠鏡・産業制御での 数十年運用実績 のある hardware quality flag 語彙に対して、 D-FUMT₈ は 意味論的に 3 値上位互換
- Paper 145 (First D-FUMT₈ Silicon with SELF⟲ Logic Primitive) の hardware context section に 追加する形で position 明確化
使ってよい表現: 「hardware quality flag prior art に対する 3-value extension」 / 「Tango 5 値の proper superset」 / 「semantic gap の埋め (INFINITY = out-of-scale, ZERO = data 不在, SELF = self-referential fixed-point)」
使わない表現: 「世界初 hardware 8 値論理」 (Tang Console NEO + IBM Heron r2 で 既 controllable claim 済、 Paper 145 v0.5 corrigendum precedent 遵守)、 「Tango より優れた」 (hardware production 実績が 数十年差、 Rei は Tang FPGA 単体 + IBM Heron r2 実験のみ)、 「世界統一 quality flag standard」 (adoption reality に 未達)。
Rei stack 内 immediate 効果 (実装ゼロ、 doc + memory のみ)
- benchtop-mcp 27 tool の verdict emit 語彙: 5 値 mapping table を reference doc として benchtop 開発時に参照可能 (INVALID/ALARM/WARNING/CHANGING の hardware community 慣習を Rei verdict に 追記翻訳)
- STEP 1567 disk_health_verdict の position 明確化:
ZERO no_data/NEITHER/BOTH/FLOWING/TRUEの 5-case は Tango 5 値と 1:1 対応、INFINITY extremeの 6-case 目が Rei 独自拡張点 - Paper 145 v0.8 の hardware context section 追記候補 (実際の publish は 別 STEP、 藤本さん explicit 「Zenodo re-publish 実行」 待ち discipline 継続、 v0.5 corrigendum precedent 遵守)
- 別 tab STEP 1569 との補完: 別 tab の 5 ecosystem design-import register + Ophyd 読解 top 3 に対して、 本 STEP は tango mapping 深掘り 単発 arc
Honest scope
verbatim quote 未達: Tango 5 値の 公式定義 verbatim quote は 本 STEP session 内で 取得できず (tango-controls.readthedocs.io の 主要 doc URL 404、 pytango readthedocs redirect 先も 404、 cppTango GitHub archived → GitLab 移行済で verify 困難)。 5 値の 意味論は 別 tab notes (STEP 1569) + Tango 公式 website description (verify 可能) + hardware community 慣習知識 に basis。 Paper 145 v0.8 起草時 に 一次 source 参照必須。
mapping validation 未達: 本 mapping は Rei stack 内 semantic reasoning に基づく提案、 Tango community + Rei community の cross-review 未達。 「INVALID → NEITHER」 「ALARM → BOTH」 は D-FUMT₈ semantic に 対して natural mapping だが、 実 hardware community が 同意するかは 未検証 (D-FUMT₈ 自体が Rei stack 独自 primitive、 external adoption ゼロ)。
「WARNING と CHANGING が 両方 FLOWING」 の判断: 現状 D-FUMT₈ で 区別不能、 metadata subtype で 補完可能 (semantic drift vs temporal transient)。 これは Rei D-FUMT₈ 側の expressiveness gap の 一種 = 8 値でも hardware community の 5 値を full recover できない local case。 Rei 独自 3 値 (INFINITY/ZERO/SELF) の 追加で 全体としては proper superset だが、 「単純な 5 → 8 lifting」 ではない。
「proper superset」 の型論的注意: image(φ) は {TRUE, NEITHER, BOTH, FLOWING} の 4 element、 D-FUMT₈ 8 値中 4 値が Tango 5 値の代替。 remaining 4 値 (FALSE, INFINITY, ZERO, SELF) は Tango 5 値には対応先なし。 φ は surjection ではない (Tango 5 値の domain が 4 image に collapse するのは Rei 側の choice)、 injection でもない (WARNING と CHANGING が collide)。 「Rei が Tango を含む」 は semantic expressiveness の意味であり、 hardware production maturity の意味ではない。
Related
- STEP 1569 — Design Imports Register (別 tab、 chat-Claude 2026-08-30 arc 応答、 5 ecosystem design-import register)
- STEP 1567 — disk_health_verdict v0.1 (Rei 側 hardware verdict の 5-case case study、
ZERO no_datapattern の initial deployment) - STEP 1541 — flow_state_verdict v0.1 (SELF verdict の 別 Rei tool implementation、 fixed-point 判定 pattern)
- Paper 145 v0.5 (Zenodo DOI 10.5281/zenodo.20091185) — First D-FUMT₈ Silicon with SELF⟲ Logic Primitive、 v0.8 draft で 本 STEP を hardware context section として引用予定
- tango-controls.org — Tango Controls official (LGPL、 欧州シンクロトロン + 加速器施設運用実績)