2026-05-14 planning session: 7 work plans added (no-topic-routing, executor-orchestrator, executor-spawning, gha-ci-executor, tm-backup, asana-dns, kraken-obsidian-bug)
This commit is contained in:
@@ -77,29 +77,62 @@ jobs:
|
||||
run: # Post summary to Asana task + open PR if not already
|
||||
```
|
||||
|
||||
## Key Questions to Investigate
|
||||
## Research Findings (2026-05-14)
|
||||
|
||||
1. **macOS runner availability**: GitHub-hosted `macos-15` or `macos-15-xlarge`?
|
||||
- Large runners cost more but needed for Xcode + Simulator
|
||||
- Self-hosted M4 Mac runner on Eagle itself? (no cloud cost but uses Eagle)
|
||||
### GHA macOS Runners — Current State
|
||||
|
||||
2. **Peekaboo on GHA**: Does Peekaboo work on GHA macOS runners?
|
||||
- Needs Screen Recording permission → headless runner may not grant it
|
||||
- Alternative: use `xcrun simctl` directly for UI tests
|
||||
- Or: spin up VM via ddg-vm (if GHA runner has the VM tool)
|
||||
- `macos-15` is current `macos-latest` (since Sep 2025)
|
||||
- Xcode max 3 simulator runtimes per image (since Aug 11, 2025)
|
||||
- **Simulators work fine on GHA** — iOS Simulator runs headless without display server
|
||||
- XCUITests run via `xcodebuild test` on Simulator → headless OK, no Screen Recording needed
|
||||
|
||||
3. **Build time**: Full prod build on GHA macos-15?
|
||||
- Estimated 15-30 min cold, 5-10 min with cache
|
||||
- DerivedData caching via `actions/cache` is critical
|
||||
### Peekaboo on GHA — The Problem
|
||||
|
||||
Peekaboo requires:
|
||||
1. **Screen Recording** permission (TCC) — for `ScreenCaptureKit`
|
||||
2. **Accessibility** permission (TCC) — for AX tree traversal
|
||||
3. Runs on **macOS 15+ (Sequoia)**
|
||||
|
||||
On GHA macOS runners:
|
||||
- TCC permissions can be pre-granted via `tccutil reset` + `tccutil insert` — but requires SIP disabled or specific entitlements
|
||||
- GHA macOS runners run **with SIP enabled** — `tccutil insert` won't work without sudo tricks
|
||||
- **Peekaboo CLI needs the Mac App running as a bridge** (Unix socket IPC) for privileged operations
|
||||
|
||||
**Conclusion: Peekaboo on GHA hosted runner = NOT viable out of the box.** Would need:
|
||||
- Self-hosted macOS runner (Eagle itself, or a dedicated Mac)
|
||||
- OR: use ddg-vm to spin a VM on Eagle, run Peekaboo inside VM (current CI pattern)
|
||||
|
||||
### XCUITest on GHA — Works Fine
|
||||
|
||||
Our current CI already runs `macOS UI Tests CI` scheme on GHA via ddg-vm VMs. The issue isn't XCUITest — it's **visual/Peekaboo-based** reproduction that's GHA-incompatible.
|
||||
|
||||
### Two-Tier Approach (Recommended)
|
||||
|
||||
```
|
||||
Analysis Agent (Claude Cloud / Eagle)
|
||||
↓ reads Asana task, generates prompt
|
||||
↓ triggers GHA workflow
|
||||
|
||||
GHA macOS runner:
|
||||
↓ checkout + build (cached DerivedData)
|
||||
↓ claude -p executor-worker.md (non-interactive)
|
||||
↓ fix code, run unit + UI tests via Simulator (NO Peekaboo)
|
||||
↓ open draft PR
|
||||
|
||||
For visual reproduction / Peekaboo validation:
|
||||
→ spawn ddg-vm (existing infra) from Eagle or from GHA via SSH
|
||||
→ VM has Peekaboo pre-installed + permissions granted
|
||||
```
|
||||
|
||||
### Claude Code Non-Interactive on GHA
|
||||
|
||||
`claude -p prompt.md` works non-interactively. Needs:
|
||||
- `ANTHROPIC_API_KEY` in secrets
|
||||
- `--dangerously-skip-permissions` flag (all tools pre-approved) or tool allowlist
|
||||
|
||||
GHA secret: `ANTHROPIC_CI_KEY` — separate from user key.
|
||||
|
||||
4. **Claude Code non-interactive**: Does `claude -p` (non-interactive) work for complex fix tasks?
|
||||
- Yes — `claude -p` is the standard non-interactive mode
|
||||
- Needs `--dangerously-skip-permissions` or pre-approved tool config
|
||||
|
||||
5. **Secrets**: Need in GHA:
|
||||
- `ANTHROPIC_CI_KEY` — separate key for CI (not user key)
|
||||
- `ASANA_CI_TOKEN` — for posting results
|
||||
- `GITHUB_TOKEN` — auto-provided
|
||||
|
||||
## Validation Steps
|
||||
|
||||
|
||||
Reference in New Issue
Block a user