Releases: co-r-e/starweft
Releases · co-r-e/starweft
v0.5.0: Peer trust model, execution mode control, stop authority signature
Highlights
Peer Trust Model
4段階の信頼状態 (discovered → trusted → pinned / revoked) によるピアライフサイクル管理。peer promote / peer revoke / peer rotate サブコマンドを追加。discovered peer は task dispatch・control plane 操作から自動ブロック。revoked peer は再発見で復元不可。
ExecutionMode (full / controlled)
OpenClaw サブプロセスの実行権限制御。controlled モードでは環境変数をクリアし、controlled_env_allowlist で明示許可した変数のみ渡す。--execution-mode controlled で指定。
StopOrder Authority Signature
停止命令の二重署名検証。StopAuthorityPayload を stop_key で署名し、envelope は actor_key で署名。受信側で authority_actor_id と stop_public_key による二重検証を実施。
Inbound Message Authorization
受信メッセージの送信者認可チェックを全 control plane メッセージに追加:
ApprovalGranted: principal actor のみTaskResultSubmitted: 割当 worker のみSnapshotRequest: owner / principal / assignee のみStopOrder: stop_authority / owner + authority signature 検証
Other Changes
- Registry actor signature — announce/peers レコードに Ed25519 署名追加
- Atomic backup/restore — ステージングディレクトリ + ロールバック
- File permission hardening — Unix 0700/0600, Windows ACL
- JoinOffer task binding — offer_id + task_id で特定タスクに紐付け
- Task-level approval — 個別タスクの承認・dispatch
- ApprovalApplied event — wait --until approval_applied 対応
- connected_sessions — known_peers と実接続数を分離
- Store schema v6 — peer_keys.trust_state + migration
Breaking Changes
StopOrder:authority_actor_id+authority_signatureフィールド必須JoinOffer/JoinAccept/JoinReject:offer_id+task_idフィールド必須TaskDelegated/ProjectCharter:execution_modeフィールド必須- discovered peer は自動的に dispatch 対象外(
peer promoteで昇格が必要)
Full Changelog: v0.4.0...v0.5.0
v0.4.0
v0.4.0: UX, Security, and Stability Improvements
10 areas of improvement across CLI experience, security hardening, and operational reliability.
UX
- List summary footer:
project list/task listに件数・ステータス集計行を追加 STARWEFT_DATA_DIR環境変数: 全 34 の--data-dirフィールドで env fallback をサポート- GitHub publish エラーガイダンス: HTTP 401/403/404/422/429/5xx 別に日本語で対処法を提示
- CLI 使用例: Init, VisionSubmit, Stop, Run, PeerAdd, Wait の 6 コマンドに
--help使用例追加 - Completions インストールガイド:
starweft completions <shell>実行後に stderr でインストール手順を表示 - 破壊的操作の確認:
backup restoreとrepair reconcile-running-tasksに--yesフラグ必須化
Security
- P2P メッセージサイズ制限: 10MB 上限を codec 層 + アプリ層で二重チェック。巨大メッセージによるメモリ枯渇を防止
- OpenClaw 出力サイズ制限: stdout 100MB / stderr 10MB。UTF-8 境界安全な truncation 実装
Stability
- Silent failure ログ追加:
.readyファイル書き込み、stop_tasks、artifact prune、stop_key 読み込みの 5 箇所 .readyファイル改善: PID + タイムスタンプを書き込み、シャットダウン時に削除
Internal
require_yes_confirmation()ヘルパーで確認ガードパターンを統合- 全クレートバージョンを 0.4.0 に bump
v0.3.1
v0.3.0
Bump version to 0.3.0: mDNS discovery, E2E stabilization, Homebrew - Add mDNS peer auto-discovery for libp2p transport (Toggle-wrapped, session-only, no permanent persistence) - Replace all blind thread::sleep in E2E tests with deterministic wait_for_node_ready / wait_for_contains polling - Add Homebrew Formula and CI automation for tap updates - Update CHANGELOG and README for v0.3.0 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v0.2.0
Fix Windows smoke test: add missing identity create before status The status command requires a local identity to exist. Without it, the command fails on Windows where transport validation is stricter. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>