You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make provider failures debuggable from the native app. When Claude/Codex/OpenClaw launch, fail, or exit, the app should surface the resolved command, provider kind, run id, selected port, state root, exit status, last error, and last log lines without exposing secrets.
Architecture invariant
Diagnostics are observational. The app may supervise processes and display logs, but it must not repair campaign state, rewrite provider configs, or mutate engine snapshots.
Code map
macos/ClawDnDApp/Sources/ClawDnDApp/Services/AppProcessService.swift: record provider command metadata, exit status, and timestamps.
macos/ClawDnDApp/Sources/ClawDnDApp/Services/ProviderAdapters.swift: expose a redacted launch summary from ProviderLaunchRequest.
macos/ClawDnDApp/Sources/ClawDnDApp/Views/ProvidersView.swift: show provider setup and launch status.
macos/ClawDnDApp/Sources/ClawDnDApp/Views/LogsView.swift: include provider diagnostics and copy diagnostics.
Parent epic: #82
Related: #95, #96
Sprint: v0.3 Sprint 1 - App, Combat, Deterministic Gates
Summary
Make provider failures debuggable from the native app. When Claude/Codex/OpenClaw launch, fail, or exit, the app should surface the resolved command, provider kind, run id, selected port, state root, exit status, last error, and last log lines without exposing secrets.
Architecture invariant
Diagnostics are observational. The app may supervise processes and display logs, but it must not repair campaign state, rewrite provider configs, or mutate engine snapshots.
Code map
macos/ClawDnDApp/Sources/ClawDnDApp/Services/AppProcessService.swift: record provider command metadata, exit status, and timestamps.macos/ClawDnDApp/Sources/ClawDnDApp/Services/ProviderAdapters.swift: expose a redacted launch summary fromProviderLaunchRequest.macos/ClawDnDApp/Sources/ClawDnDApp/Views/ProvidersView.swift: show provider setup and launch status.macos/ClawDnDApp/Sources/ClawDnDApp/Views/LogsView.swift: include provider diagnostics and copy diagnostics.macos/ClawDnDApp/Sources/ClawDnDApp/Services/Diagnostics.swift: centralize redaction.Redaction requirements
Do not display raw environment dumps. Redact or omit values whose keys contain:
KEYTOKENSECRETPASSWORDAUTHCOOKIEBudget caps, world id, run id, local port, provider kind, and repo path are okay to display.
Acceptance criteria
Focused validation
cd /Volumes/LEXAR/repos/ClawDnD swift build --package-path macos/ClawDnDApp ./script/build_and_run.sh --verifyManual smoke:
falseand start it.scripts/provider_contract_smoke.shafter [macos] Add provider contract smoke adapter for Codex/OpenClaw commands #95 and confirm diagnostics show a clean exit.Original-agent handoff
Inspect these first:
macos/ClawDnDApp/Sources/ClawDnDApp/Services/AppProcessService.swiftmacos/ClawDnDApp/Sources/ClawDnDApp/Services/Diagnostics.swiftmacos/ClawDnDApp/Sources/ClawDnDApp/Views/LogsView.swift