GPI開発日誌 Vol.17|100%になっても、まだ公開しない。「GPIの数字」を初めて出すための最終Gate

目次

はじめに

こんにちは。

GadgetStreemでは現在、ガジェット価格の上昇圧力を一つの数字で確認できる独自指数、

GPI(Gadget Pressure Index/ガジェット価格圧力指数)

を開発しています。

ここ数回の記事では、

Vol.13
市場データ
↓
0〜100へ変換

Vol.14
5つのComponent
↓
固定Weightで統合

Vol.15
Methodology
↓
Historical Backtestで検証

Vol.16
Public Status API
↓
数字を出さずにWebサービスを検証

というところまで進んできました。

そして現在、GPI Public Status Previewでは、

Production Coverage:
85%

Required Coverage:
100%

Composite GPI:
WITHHELD

という状態を表示する設計になっています。

では、残るGPU15%がProductionへ入って、

85%
↓
100%

になった瞬間、

GPIの数字を一般公開できるのでしょうか?

答えは、

できません。

より正確には、

100% Coverageは重要な条件の一つですが、それだけではPublic Numeric Releaseを許可しません。

今回のVol.17では、

GPIの数字を初めて一般へ出すために、何を通過する必要があるのか

をご紹介します。


現在もGPIの数字は公開していない

まず現在地を確認します。

直近のGSIで維持されている状態は、

USD/JPY:
INCLUDED

DRAM:
INCLUDED

NAND:
INCLUDED

Freight:
INCLUDED

GPU:
23 / 36
HISTORY / QUALIFICATION継続

Production Coverage:
85%

Composite:
NULL / WITHHELD

Public Numeric Release:
NOT_PUBLISHABLE

です。

つまり、Vol.16で紹介したPublic Status Previewは存在していても、

Composite Numeric GPIそのものはまだ一般へ出していません。


「23 / 36」から「36 / 36」になればGPU採用?

これも、

NOです。

現在GPUでは、

23 / 36

というQualification状態を追っています。

では、

36 / 36

になったら自動的に、

GPU Production Activated

となるのでしょうか。

GSIでは、そうしません。

現在のGate Contractでは明確に、

QUALIFICATION COMPLETE
≠
PRODUCTION ACTIVATION

と分離しています。

仮に全36項目がPASSしても、GPUのProduction Activationには別のPM Authorityが必要です。

つまり、

36 / 36
↓
GPU採用

ではなく、

36 / 36
↓
Qualification Complete
↓
Production Activation Review
↓
承認された場合のみActivation

です。


GPUがProductionへ入れば即GPI計算?

これも自動ではありません。

GPIでは現在、次のGateを別々に扱っています。

1. Component Qualification

2. Production Inclusion

3. Weight Completeness

4. Production Coverage

5. Composite Calculation Eligibility

6. Composite Publication Eligibility

7. Public Numeric Release

8. Production Release

つまり、

一つ前のGateを通ったから、次も自動的に通る

とはしません。

最新のR3 Qualification Packageにも、

85% Coverage
≠
Composite calculation authorization

Composite calculable
≠
Publication authorization

Publication eligible
≠
Public Numeric Release

36/36 GPU history
≠
GPU Production activation

というNon-equivalenceが明示されています。


なぜここまで細かく分けるのか

例えば、

GPUが技術的に問題なく計算できたとします。

しかし、

  • Sourceの意味が想定と違う
  • Production運用条件が不足している
  • Historical Evidenceが不足している
  • Methodology上の扱いが未承認
  • データ利用条件に問題がある

という可能性があります。

逆に5ComponentすべてがProductionへ入り、

Composite GPIが計算できても、

  • Stagingで異常がある
  • APIが誤った数字を返す
  • WordPress表示で古い値が残る
  • Backup / Restoreが未検証
  • Rollbackできない
  • Methodology Disclosureが不足
  • 最終Human Reviewがない

なら、まだ一般公開すべきではありません。

だから、

データのGate

と、

計算のGate

と、

製品公開のGate

を分離しています。


100% Coverageの計算自体はすでに「リハーサル」している

実はGSIでは、

5Componentがすべて揃った場合のComposite計算

そのものは、かなり前にリハーサルしています。

Issue #37では、

Full-Coverage Release Candidate

という仕組みを作りました。

ここでは、

FX
DRAM
NAND
GPU
Freight

の5Slotをすべて使用し、

Weight Coverage:
1.000000

つまり100%で計算します。

Missing WeightのRenormalizationも禁止です。

さらに、

  • 6桁へQuantize
  • SHA-256 Candidate Digest
  • Deterministic Replay
  • Correction Rehearsal
  • Audit-chain Digest

まで確認しています。


でもそこで使った数字は「本物のGPI」ではない

リハーサルでは例えば、

Original Synthetic Value:
59.200000

Corrected Synthetic Value:
59.700000

というCompositeを作っています。

しかし、これは、

Synthetic Test Fixture

です。

市場観測値ではありません。

そのため結果は、

Full Coverage Calculation:
PASS

Correction Rehearsal:
PASS

Technical Rehearsal:
PASS

Production Eligibility:
false

Methodology Accepted:
false

Effective Decision:
NO_GO

Public Numeric Release:
false

でした。

ここはGPIの設計思想をよく表しています。

100%で計算できることは、Public Releaseの十分条件ではない。


なぜ「Correction Rehearsal」まで必要なのか

指数を公開した後に、

元データのRevisionや誤りが判明する可能性があります。

例えば、

公開時
GPI 62.4

だったものが、

後から公式データの訂正によって、

訂正後
GPI 61.9

になるかもしれません。

そのとき、

62.4を消して
61.9に書き換える

だけでは、何が起きたのか分からなくなります。

そこでGSIでは、

Original Candidate
↓
Original Digest

Correction
↓
Corrected Candidate
↓
Corrected Digest

Original
↓
Corrected

Audit Chain

という履歴を残せるようにしています。

つまり、

最初の数字を公開する前に、「間違ったときにどう直すか」まで作っています。


次に必要なのがMethodology Acceptance

仮に5ComponentがProduction Readyになり、

100% CoverageでCompositeが計算できても、

まだ一つ大きなGateがあります。

Methodology Acceptance

です。

GSIではNamed Methodology Decisionに必要なEvidenceとして、

  • Sanitized Operational Export
  • Valid Operational Review
  • Historical Thresholds
  • 5ComponentすべてのOperational History
  • Full-Coverage Rehearsal
  • Correction Rehearsal
  • Approved Inputs
  • 5SlotすべてのSource / Semantic / Weight Decision

などを要求する設計にしています。

つまり、

5つ揃ったからMethodology完成

でもありません。


「Methodologyを受理した人」も記録する

さらにGPIでは、

テスト全部PASS
↓
自動でMethodology Accepted

とはしません。

Named Reviewerによる判断を残します。

なぜなら、

「このデータをGPU需給として本当に扱うのか」

「このProxyのDisclosureで十分なのか」

「このWeightをこのVersionで固定してよいのか」

といった判断は、

単純なUnit Testでは決められないからです。

ここには、

Semantic / Governance Judgment

があります。


β版なら少しくらい条件を緩くしてもいい?

ここで、

正式版ではなくβ版なら、多少条件が足りなくても公開してよいのでは?

という考え方もあります。

GPIでは、

その考え方を採用していません。

Repositoryにはすでに、

Staging Validation and Public-Beta Release Gate

があります。

このGate自体のBaselineは、

Requested Decision:
NO_GO

Effective Decision:
NO_GO

Public Release Authorized:
false

です。

そしてPublic-Beta Release Policyでは、Blocking Evidenceが不足していればNO_GOを返し、別Review後にCode-owned Policyがpublic_release_authorized=trueになって初めてReleaseへ進める構造です。それ以外はNO_GOです。


GPIでいうβ版は「ルールが緩い版」ではない

このためGPIにおけるPublic Betaは、

精度が適当でも数字を出していい版

ではありません。

むしろ、

Methodologyと公開条件を明示したうえで、限定された初期Production運用を開始する段階

に近い位置付けです。

つまりβ版であっても、

Sourceは未承認だけど使う

Coverageは85%だけど100%換算する

GPUがないからWeightを変更する

Methodology Candidateのまま出す

といったことはしません。


100% Coverageの次にはStagingがある

Production Candidateが完成しても、

そのままPublicへは出しません。

次に必要なのが、

Staging

です。

Stagingでは実際のReleaseに近い環境で、

  • API
  • Dashboard
  • WordPress
  • Security
  • Database / Migration
  • Observability
  • Backup / Restore
  • Rollback

などを確認します。

GSIのOperational Release Reviewでは、少なくとも次の10項目をGoverned Staging Checkとして定義しています。

Candidate Integrity
Repository CI
Secrets / Access
Database / Migrations
API Smoke
Dashboard Smoke
WordPress Smoke
Observability / Alerting
Backup / Restore
Rollback Rehearsal

「ページが表示された」だけでは足りない

例えば、

Dashboard
HTTP 200

でも、

バックアップから復元できなければ問題です。

また、

API
HTTP 200

でも、

古いGPIをCacheし続けていたら問題です。

そして、

WordPress
表示成功

でも、

障害発生時にRollbackできなければ本番運用は危険です。

だから、

画面が見える

と、

サービスとして公開できる

を分けています。


Legal / NoticeもRelease Gateに含める

Public Numeric GPIを出す場合、

数字だけではなく、

その数字が何なのか

も利用者へ説明する必要があります。

Operational Release Reviewでは、

  • License Notice
  • Third-party Data Attribution
  • Data Use Terms
  • Methodology Disclosure
  • Privacy Notice
  • Trademark Notice
  • Public Status / Correction / Incident Channel

という7種類のLegal / Notice Checkも定義しています。

例えばNANDでは、

Storage-device price proxy / benchmark

であること。

Freightでは、

Deep-sea freight price-pressure proxy / benchmark

であること。

こうした情報を、数字だけ出して隠してはいけません。


「最終GO」も自動化しない

すべてのTechnical GateがPASSしたとしても、

最後に、

Named Release Review

があります。

Operational Release Reviewでは、

Reviewer
Role
Timestamp
Rationale
Evidence

を記録することを求めています。

つまり、

CI Green
↓
自動Public Release

ではありません。


GPIのRelease Gateを一枚にすると

現在の考え方をかなり簡略化すると、

GPU History / Evidence
        ↓
Component Qualification
        ↓
GPU Production Activation Review
        ↓
Production Inclusion
        ↓
5 Component Weight Complete
        ↓
Production Coverage 100%
        ↓
Composite Calculation Eligibility
        ↓
Full-Coverage Candidate
        ↓
Deterministic Replay
        ↓
Correction Rehearsal
        ↓
Historical Evidence
        ↓
Methodology Acceptance
        ↓
Staging Validation
        ↓
API / Dashboard / WordPress
        ↓
Security / Observability
        ↓
Backup / Restore / Rollback
        ↓
Legal / Disclosure Review
        ↓
Human Product Acceptance
        ↓
Named Release Review
        ↓
Public Numeric Release Authority
        ↓
初めて数値公開

となります。


ここまでGateを作る必要があるのか

個人開発の指数として考えると、

かなり大げさに見えるかもしれません。

実際、

Excelで計算
↓
WordPressへ手入力

なら、もっと早く公開できます。

しかし、それでは将来、

2026年9月:62.1
2026年10月:68.3
2027年1月:51.7

と数字が蓄積されたとき、

すべて同じMethodologyで計算されたのか?

当時利用可能だったデータだけを使っているのか?

後から数字を書き換えていないか?

何か欠けた週にWeightを変えていないか?

Sourceの利用条件は大丈夫なのか?

を証明できません。

GPIを単発記事ではなく、

長期的な市場指標

にしたいのであれば、この部分が重要になります。


そして直近では「Release」ではなくRead-only Qualificationをしている

ここで現在の実作業へ戻ります。

GPI開発は現在、

Public Release Gateを開こうとしている

段階ではありません。

直近では、

Home Read-only Current-State Qualification R3

が準備されています。

このR3では、

  • 実際のorigin/main確認
  • Repository / Remote Identity
  • 並行して進むGSRとのAncestry Reconciliation
  • UI-1A Regression
  • GPU 36-item Authority再確認
  • Composite / Public Gateの再確認
  • Repository Health
  • Evidence生成

をRead-onlyで行う設計です。


なぜRelease直前でもGitの状態を確認するのか

GSIではGPIだけでなく、

  • GSR
  • GSI共通基盤

も同じRepositoryで並行開発しています。

そのため、

昨日確認したmain

が、

今日のmain

とは限りません。

直近のR3ではこの問題を明示的に扱い、

actual origin/main
repository identity
remote identity
candidate ancestry

を確認してから次の工程へ進むようにしています。

現在のR3は、

READY
HOME QUEUED
READ_ONLY

であり、

まだProduction/Public Authorityを消費する処理ではありません。


UIもTechnical PASSだけでは閉じない

Vol.16で紹介したPublic Status Previewについても、

Technical側はかなり進んでいます。

現在の状態では、

UI-1A Technical:
PASS

Automated Validation:
PASS

Browser Validation:
PASS

Responsive:
PASS

200% Zoom:
PASS

です。

しかし、

UI-1A Product Acceptance:
OPEN / PENDING_PM_REVIEW

です。

なぜなら、

Technicalに崩れていなくても、

利用者が85%を「GPI 85」と誤解しないか

23/36を「完成率」と誤解しないか

WITHHELDの理由が理解できるか

というProduct Judgmentは別だからです。


Public Numeric Release Gateの重要な5つの「≠」

今回のVol.17を一番短くまとめるなら、次の5つです。

36 / 36
≠
GPU Production Activation
GPU Production Activation
≠
自動Public Release
Production Coverage 100%
≠
Public Numeric Release
Composite計算可能
≠
Publication Eligible
β版
≠
品質Gateを省略してよい

これがGPIの現在のRelease設計です。


では、β版公開はいつになる?

現時点で、

日付は決めません。

例えば、

GPUあと13項目
↓
13か月
↓
○月公開

のような単純計算もしません。

GPUの23/36は開発進捗率ではありません。

そして36/36になっても、

Production Activation、Composite、Methodology、Release Reviewが残るためです。

Public UIでも、

ETA
Completion Date
Remaining Months

のような表現をGPUへ付けない設計にしています。


「公開日」ではなく「公開条件」を決める

現在GPIで決めているのは、

いつ公開するか

ではありません。

何を満たしたら公開してよいか

です。

これは大きな違いです。

例えば、

○月1日公開予定

と決めてしまうと、

期日が近づいたとき、

13項目のうち11個しか終わっていないけど出そう

Coverage 85%を100%換算しよう

このGateだけ後回しにしよう

という圧力が生まれます。

GPIでは、その方向を避けています。


数字がないことより、間違った数字を固定する方が怖い

GPIをここまで開発してきて、かなりはっきりしてきたことがあります。

指数にとって怖いのは、

数字を出せない期間があること

ではありません。

本当に怖いのは、

後から説明できない数字を公開し、その数字が履歴として残ること

です。

一度、

GPI 67.4

と一般公開すれば、

SNSへ転載されたり、

記事で引用されたり、

将来の値と比較されたりする可能性があります。

あとから、

GPUが入っていませんでした

Weightが違いました

MethodologyがまだCandidateでした

とは言いたくありません。


「WITHHELD」は開発失敗ではない

現在の、

Composite:
WITHHELD

という状態は、

完成していないから仕方なく表示しているものではありません。

むしろ、

Release Gateが正常に機能していることを示す状態

です。

数字を出してはいけない条件なら、

数字を出さない。

これは今後本番運用が始まってからも必要になります。


Vol.17時点の現在地

今回の記事公開時点で、最新の確認済みAuthorityは次の状態です。

Production Coverage:
85%

GPU:
23 / 36

Composite:
NULL / WITHHELD

Public Numeric Release:
NOT_PUBLISHABLE

UI-1A Technical:
PASS

UI-1A Product Acceptance:
OPEN

GPU Production Activation:
NO

Renormalization:
NO

さらに次に控えているR3は、

HOME QUEUED
READ_ONLY

です。

ProductionやPublic Releaseを実行するAuthorityではありません。


つまり、Vol.17でβ版公開ではない

この開発日誌を最初に計画したときは、

Vol.17
β版公開

くらいの想定でした。

実際に開発してみると、

そこまで単純ではありませんでした。

Collectorを作るだけでなく、

  • Source Rights
  • Proxy Semantics
  • Historical Evidence
  • Component Scoring
  • Composite
  • Revision
  • Backtest
  • Weight Validation
  • Public API
  • Status Preview
  • Staging
  • Backup / Restore
  • Rollback
  • Legal / Disclosure
  • Human Review
  • Release Authority

まで必要になりました。

だからVol.17は、

「β版を公開しました」

ではなく、

「β版を名乗るために何を通過しなければならないかを固定しました」

という回になりました。

これは当初の予定より時間はかかっていますが、

GPIを長く使える指標にするためには必要な変更だと考えています。


次の開発日誌について

ここまでVol.1から続けてきたGPI開発日誌ですが、

Vol.17を一区切りとします。

次の記事を、

Vol.18

としてすぐに決め打ちはしません。

次に大きな節目が来たとき、

例えば、

GPU Qualificationの大きな進展

Production Coverageの変更

Methodology正式Decision

100% Full-Coverage Candidate

Public Numeric Release Eligibility

Public Beta開始

など、

実際のAuthorityが変化したタイミング

で続きを書く方が、合っていると考えています。


まとめ

Vol.17では、

Public Numeric Release Gate

についてご紹介しました。

GPIでは、

GPU 36/36

になっても、

自動でGPUをProductionへ入れません。

Production Coverageが、

100%

になっても、

自動でCompositeを一般公開しません。

Compositeが計算できても、

自動でPublic Numeric Releaseしません。

さらに、

β版だからGateを緩くする

こともしません。

GPIの数字を初めて一般へ出すまでには、

Component Qualification
↓
Production Inclusion
↓
100% Coverage
↓
Composite Candidate
↓
Historical / Methodology Review
↓
Correction Rehearsal
↓
Staging
↓
API / Dashboard / WordPress
↓
Security
↓
Backup / Restore / Rollback
↓
Legal / Disclosure
↓
Human Review
↓
Named Release Review
↓
Public Numeric Release Authority

という工程があります。

実際、100% Coverageを使ったSynthetic Release Candidate RehearsalはすでにPASSしています。

それでも、

Public Numeric Release:
false

でした。

計算できたから公開するのではありません。

公開してよいことを確認できたときに、初めて公開します。

現在は、

Production Coverage:85%
GPU:23 / 36
Composite:WITHHELD
Public Numeric Release:NOT_PUBLISHABLE

です。

まだ数字は出しません。

しかし、

どの条件を満たしたら数字を出してよいのか

については、かなり明確になりました。

GPI開発は、

「数字を作る」段階から、

「その数字を社会へ出しても壊れない仕組みを作る」段階

へ進んでいます。

そしてそのGateをすべて通過したとき、

初めてGadgetStreemから、

GPIの数値そのもの

をお見せします。


※GPIは現在開発中の実験的な市場分析指標です。現在公開されているGPI Public Status PreviewはComposite Numeric GPIのPublic Releaseではありません。Production Coverage 85%やGPU 23/36はGPIスコア、完成率、公開予定日を示すものではありません。またPublic Beta Releaseについても、現在は承認されていません。GPIは個別製品の将来価格や価格変動確率、投資利益を保証するものではありません。


この記事が気に入ったら
フォローしてね!

コメント

コメントする

目次