Skip to content

サイクル v0.2.0#22

Merged
ikeisuke merged 13 commits intomainfrom
cycle/v0.2.0
Apr 13, 2026
Merged

サイクル v0.2.0#22
ikeisuke merged 13 commits intomainfrom
cycle/v0.2.0

Conversation

@ikeisuke
Copy link
Copy Markdown
Owner

@ikeisuke ikeisuke commented Apr 11, 2026

Summary

サンドボックスプロファイル修正の正式化とdenyログ機能追加。
WIPで実装済みのKeychain許可・lockfile・atomic write対応を正式化し、Seatbelt denyログの自動記録機能を追加。

受け入れ基準

  • sandbox.sh のlockfileパス・atomic write regex・Keychainパス追加が正式コードとしてレビュー済み
  • sandbox-darwin.sh のSeatbeltプロファイル出力にlockfile subpath・write regexが含まれている
  • sandbox-linux-systemd.sh のReadWritePathsにlockfileディレクトリが含まれている
  • sandbox_profile.bats の全テスト通過
  • macOSでSeatbelt denyイベントがPID付きログファイルに記録される
  • log stream 起動失敗時もjailrun本体は正常に起動する
  • AGENT_SANDBOX_DEBUG=1 設定時にdenyログをstderrにも出力する
  • docs/README.md にdenyログ機能・Write Allowancesの説明が追加されている
  • docs/architecture.md にdenyログのアーキテクチャ説明が追加されている

変更概要

  • Unit 001: サンドボックスプロファイル修正の正式化
    • Keychain書き込み許可、lockfileパス、atomic write regex の正式化
    • 既存テスト全通過確認
  • Unit 002: Seatbelt denyログの自動記録
    • _start_deny_log() / _stop_deny_log() によるdenyイベント収集
    • log stream バックグラウンド起動、PID付きログファイル
    • 起動失敗時のstderr警告、DEBUGモードでのstderr表示
  • Unit 003: ドキュメント更新
    • README: Write Allowances、Seatbelt Deny Log セクション追加
    • Architecture: Data Flow deny log hook、Write Path Composition、Deny Log Architecture追加

Test plan

  • 全78テスト通過(sandbox_profile.bats含む)

Review Summary

ikeisuke and others added 11 commits April 11, 2026 09:20
proper-lockfileが~/.claude.lockを$HOME直下に作成するが、seatbelt/systemdの
書き込み許可にこのパスが含まれていなかった。これによりトークンリフレッシュ後の
ファイル保存が失敗し、セッション再起動時に不要な/loginが発生していた。
Seatbeltエスケープ関数追加、Keychainセキュリティコメント強化、Linux非対称性文書化

Unit-Number: 001
DEBUGモード時にlog streamでSeatbelt denyイベントを収集、EXIT trapでcleanup、全platformにno-op hook定義

Unit-Number: 002
Unit-Number: 003

Co-Authored-By: Claude <noreply@anthropic.com>
Unit-Number: 003

Co-Authored-By: Claude <noreply@anthropic.com>
Unit-Number: 003

Co-Authored-By: Claude <noreply@anthropic.com>
Unit-Number: 003

Co-Authored-By: Claude <noreply@anthropic.com>
@ikeisuke ikeisuke marked this pull request as ready for review April 11, 2026 08:44
ikeisuke and others added 2 commits April 14, 2026 01:12
proper-lockfile の mkdir ベースロック取得との競合を回避するため、

存在しないロックディレクトリの事前作成をスキップする。

Unit-Number: 001

Co-Authored-By: Claude <noreply@anthropic.com>
proxy/deny log パスで credentials.sh の rm -rf $_tmpdir trap が

上書きされ、一時クレデンシャルディレクトリが残る問題を修正。

Co-Authored-By: Claude <noreply@anthropic.com>
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.

1 participant