Skip to content

chore: Fabric pin を v0.9.0rc4 へ上げる(AZ-06 は EffectObservation の生産者) - #49

Merged
01rabbit merged 1 commit into
mainfrom
claude/pin-rc4
Sep 20, 2026
Merged

01rabbit merged 1 commit into
mainfrom
claude/pin-rc4

Conversation

@01rabbit

Copy link
Copy Markdown
Owner

一斉更新ではありません

AZ-06 が rc4 へ動く理由は、AZ-06 が EffectObservation の生産者であり、rc4 がまさにその契約を狭めたことです。文法がどこかで変わったからではありません。

v0.9.0rc4 は EffectObservation が名乗れる権限クラスを observed_fact と active_materialized の 2 つに限定し、rc3 が受理していた 4 つを拒否します(Azazel-Fabric#52)。シリーズで最初の非加法的候補です。

実費用はありません

runtime/effect_projection.py は既に status からクラスを導出しており、observe_effect にはそのための引数がなく、2 つ以外を発行できません。

変わるのは、それが 1 つの関数の習慣ではなく契約の保証になったことです。将来 3 つ目のクラスを持ち込む編集は、下流に運ばれる前に境界で拒否されます。

移行前に検証しました

基準 結果
1 署名 v0.9.0rc4 タグ自身の checkout で release/v0.9.0rc4.digest.json が一致(sha256:b02ee97b…101d)、署名は release owner の鍵で検証
2 version 導入 0.9.0rc4 == pin v0.9.0rc4(test_fabric_pin_documentation.py 5 件)
3 互換性 590 passed, 8 skipped, 0 failed
4 縮退 azazel-fabric は required 依存であり、Fabric 不在の縮退経路は設計上存在しない(Edge / Nexus の optional extra とは異なる)

署名されているのはその digest であって git タグではありません。 タグは unsigned であり信頼境界ではありません(Azazel-Fabric#56)。

更新しない製品と、その根拠

製品 現 pin effect_contracts 使用 判断
Azazel-Edge v0.9.0rc4 4 ファイル 更新済
Azazel-Deception v0.9.0rc3 → v0.9.0rc4 2 ファイル 本 PR
Azazel-Nexus v0.9.0rc2 0 据え置き
Azazel-Knowledge v0.9.0rc2 0 据え置き
Azazel-Boot v0.9.0rc1 0 据え置き

rc3(参照文法)と rc4(観測の権限限定)はいずれも effect_contracts のみに触れます。Nexus・Knowledge・Boot はこの family を 1 ファイルも使用しておらず、未使用 family の変更を理由に pin を動かすことはしません。

文書

docs/fabric-pin.md の pin 見出しと履歴表を更新しました。同リポジトリのガード 2 本(test_the_pin_document_names_the_tag_that_is_actually_installed / test_the_pin_history_records_the_current_pin_as_current)が、文書の未更新を赤にします。pin 更新が文書化された行為であることを機械的に保っているのはこの 2 本です。

🤖 Generated with Claude Code

https://claude.ai/code/session_01SsboPSj6GyJju6mTXwHHjq


Generated by Claude Code

一斉更新ではない。AZ-06 が rc4 へ動く理由は、文法がどこかで変わった
ことではなく、AZ-06 が EffectObservation の生産者であり、rc4 が
まさにその契約を狭めたことにある。

v0.9.0rc4 は EffectObservation が名乗れる権限クラスを observed_fact と
active_materialized の2つに限定し、rc3 が受理していた4つを拒否する
(Azazel-Fabric#52)。シリーズで最初の非加法的候補である。

この移行に実費用は無い。runtime/effect_projection.py は既に status から
クラスを導出しており、observe_effect にはそのための引数が無く、
2つ以外を発行できない。変わるのは、それが1つの関数の習慣ではなく
契約の保証になったことである。将来3つ目のクラスを持ち込む編集は、
下流に運ばれる前に境界で拒否される。

移行前に検証した。v0.9.0rc4 タグ自身の checkout が
release/v0.9.0rc4.digest.json を再現し、その署名は release owner の鍵で
検証でき、本リポジトリの全テストが緑で通る。署名されているのはその
digest であって git タグではない。タグは unsigned であり信頼境界では
ない(Azazel-Fabric#56)。

検証:
  基準1 署名    タグ checkout で digest 一致・署名検証 OK
  基準2 version 導入 0.9.0rc4 == pin v0.9.0rc4
  基準3 互換性  590 passed / 8 skipped / 0 failed
  基準4 縮退    azazel-fabric は required 依存であり、Fabric 不在の
                縮退経路は設計上存在しない

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SsboPSj6GyJju6mTXwHHjq
@01rabbit
01rabbit marked this pull request as ready for review September 20, 2026 14:30
@01rabbit
01rabbit merged commit 5ef49c9 into main Sep 20, 2026
10 checks passed
@01rabbit
01rabbit deleted the claude/pin-rc4 branch September 20, 2026 14:31
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.

2 participants