確認日: 2026-09-09。対象コミット: 07277b86572f12dd67e6458867541dab7d7aad56。
何が起きたか
deriveTemporal は有効な root anchor と密な署名 cp があれば anchored を返すが、最後の署名が最終イベントに届いているかを確認しない。短い未署名 tail は density.sparse にもならず、「申告セッション全体が時刻固定」という型の説明より強い表示になる。
再現手順・確認結果
shared の既存 fixtures を使用し、次の構成を生成した。Worker のメッセージ輸送のみを Node で代替し、PoSW の 10,000 回 SHA-256 と ECDSA は実際に計算した。鍵はその場で生成したテスト鍵で本番鍵は使用していない。
- createTestKey() で鍵を作り、createSessionStartToken() の署名済み token を生成。
- TypingProof.initializeAnchored() 後、contentChange を a/b/c の三イベント記録し、内容 abc を export。
- buildSignedCheckpoints() に eventIndexes: [0] を指定し、最初のイベントだけを署名。
- verifyProofFile に mode: full、requireRootAnchor: true、requireAnchorDensity: true、テスト鍵 registry を渡す。
- 検証結果を通常の sparse / postHocSuspected マッピングで deriveAssurance に渡す。
実測:
{
"valid": true,
"coverage": {
"signedCount": 1,
"lastSignedEventIndex": 0,
"coverageRatio": 0.3333333333333333
},
"temporal": "anchored"
}
影響・期待した動作
署名が固定するのは先頭の prefix のみ。未署名 tail は既存署名を変更せず再構成できる。暗号検証自体の成功と、全体に対する時間保証は区別すべき。時間保証の最上位には最終内容・チェーン状態への署名を条件として含め、未到達なら partial と署名範囲を表示する。
修正方針
coverage と terminal anchor の有無を AssuranceInput に伝播する。最終署名を得られなかった場合も証拠の export 自体は救済し、受理方針で扱う。最終署名があっても各イベントの実時刻が直接証明されるわけではないので、文言は署名が提供する時刻境界に合わせる。
受け入れ条件
関連情報
スコープ外
PoSW の反復数変更、著述者本人の証明。cp の存在を必須にする受理ポリシーは別 Issue。
確認日: 2026-09-09。対象コミット:
07277b86572f12dd67e6458867541dab7d7aad56。何が起きたか
deriveTemporal は有効な root anchor と密な署名 cp があれば anchored を返すが、最後の署名が最終イベントに届いているかを確認しない。短い未署名 tail は density.sparse にもならず、「申告セッション全体が時刻固定」という型の説明より強い表示になる。
再現手順・確認結果
shared の既存 fixtures を使用し、次の構成を生成した。Worker のメッセージ輸送のみを Node で代替し、PoSW の 10,000 回 SHA-256 と ECDSA は実際に計算した。鍵はその場で生成したテスト鍵で本番鍵は使用していない。
実測:
{ "valid": true, "coverage": { "signedCount": 1, "lastSignedEventIndex": 0, "coverageRatio": 0.3333333333333333 }, "temporal": "anchored" }影響・期待した動作
署名が固定するのは先頭の prefix のみ。未署名 tail は既存署名を変更せず再構成できる。暗号検証自体の成功と、全体に対する時間保証は区別すべき。時間保証の最上位には最終内容・チェーン状態への署名を条件として含め、未到達なら partial と署名範囲を表示する。
修正方針
coverage と terminal anchor の有無を AssuranceInput に伝播する。最終署名を得られなかった場合も証拠の export 自体は救済し、受理方針で扱う。最終署名があっても各イベントの実時刻が直接証明されるわけではないので、文言は署名が提供する時刻境界に合わせる。
受け入れ条件
関連情報
スコープ外
PoSW の反復数変更、著述者本人の証明。cp の存在を必須にする受理ポリシーは別 Issue。