Skip to content

Commit c647d80

Browse files
committed
Sync crill 0.5.2 public release inputs
1 parent 61bb37e commit c647d80

7 files changed

Lines changed: 122 additions & 15 deletions

File tree

.release-notes/v0.5.2.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# v0.5.2
2+
3+
Public binary mirror for the private crill release.
4+
5+
- Source repo: `corca-ai/crill`
6+
- Source release: https://github.com/corca-ai/crill/releases/tag/v0.5.2
7+
- Public repo: `corca-ai/crill-cli`
8+
9+
## Assets
10+
11+
- `checksums.txt` - `sha256:5de1ad7b9a3d39b41b5ffe47f44bc80d3d0a6c668908fc645d337e320aefcd1f`
12+
- `crill_0.5.2_darwin_arm64.tar.gz` - `sha256:dc3076ca683cfe56cb216a33b7cdd902b6bfd2d18030573e9fa0bab90ec4dab2`
13+
14+
## Access Control
15+
16+
Binary download is public. Gated crill commands still require `crill auth login <email>`.
17+
18+
## Release Boundary
19+
20+
This sync uploads the public release assets, then pushes the matching tag so `corca-ai/crill-cli` CI can update `corca-ai/homebrew-tap`.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,6 @@ crill runs audit runs/current/ --baseline runs/baseline/ --max-llm-avg-regressio
246246

247247
## Latest Public Release
248248

249-
- Version: `0.5.1`
250-
- Release: https://github.com/corca-ai/crill-cli/releases/tag/v0.5.1
251-
- Mirrored from upstream release: https://github.com/corca-ai/crill/releases/tag/v0.5.1
249+
- Version: `0.5.2`
250+
- Release: https://github.com/corca-ai/crill-cli/releases/tag/v0.5.2
251+
- Mirrored from upstream release: https://github.com/corca-ai/crill/releases/tag/v0.5.2

docs/install.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ The current macOS binary is unsigned. If macOS blocks the first launch, open
2929
Finder and approve the binary once:
3030

3131
1. Open `/opt/homebrew/bin/crill` on Apple Silicon, or `/usr/local/bin/crill`
32-
on Intel Macs.
32+
on Intel Macs. If the symlink does not expose the approval prompt cleanly,
33+
open the real bundled binary instead: `.../Cellar/crill/<version>/libexec/crill`.
3334
2. Right-click, choose **Open**, and confirm once.
3435
3. Return to the terminal and run `crill` normally.
3536

@@ -53,6 +54,19 @@ crill skills install
5354
The installed public `crill` skill now includes a shared onboarding reference
5455
at `references/onboarding.md`.
5556

57+
If you want one quick readiness snapshot before switching sessions, run:
58+
59+
```bash
60+
crill doctor --json
61+
```
62+
63+
The important rows for the handoff are `gate.session`, `install.skill.global`,
64+
and `install.skill.claude-link`.
65+
66+
That is only the install-to-skill handoff. In the next session, the skill may
67+
still continue onboarding until `providers.default` and `home.saved-ios-device`
68+
also become `ok`.
69+
5670
Now close this agent session. Open a new one, invoke the `crill` skill, and
5771
have it read its own `references/onboarding.md` before it continues. That
5872
reference owns provider selection, iOS setup, app resolution, the first-run

docs/internal-ios-trial.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,9 @@ export 받습니다.
5656
- `@corca.ai` 주소라면 activation code / invitation key 없이 로그인돼야 한다.
5757
- 사람 개입이 필요한 단계는 에이전트가 스스로 우회하지 말고 정확히 요청한다.
5858
- `crill skills install` 까지 끝낸다.
59-
- 마지막에 `crill doctor` 또는 `crill doctor --json` 으로 상태를 확인한다.
59+
- 마지막에 `crill doctor --json` 으로 상태를 확인한다.
60+
- 이때 특히 `gate.session`, `install.skill.global`, `install.skill.claude-link`
61+
가 기대대로 보이는지 확인한다.
6062
- 끝나면 "이제 새 세션에서 `crill` skill 을 실행해 보세요" 라고 안내한다.
6163

6264
호스트마다 skill 호출 표기가 다를 수 있으므로, 기본 원칙은 **현재 에이전트가
@@ -71,7 +73,15 @@ export 받습니다.
7173
- skill 이 먼저 `crill doctor --json` 으로 현재 상태를 읽는다.
7274
- skill 이 자기 `references/onboarding.md` 계약을 읽고 첫 미완료 단계부터 이어간다.
7375
- 첫 skill 실행 상태라면 온보딩 경로로 들어간다.
74-
- 아직 iOS 기기 선택이 안 되어 있으면 `crill setup --ios` 를 진행한다.
76+
- `gate.session`, `providers.default`, `home.saved-ios-device` 가 각각
77+
온보딩 phase gate 로 쓰인다.
78+
- 다만 `gate.reachable` 가 깨졌으면 재로그인이 아니라 gate/network 복구로
79+
먼저 돌려야 한다.
80+
- 아직 iOS 기기 선택이 안 되어 있거나, 저장된 기기가 지금 연결되어 있지 않으면
81+
`crill setup --ios` 를 진행한다.
82+
- `home.saved-ios-device == ok` 는 저장된 기기가 아직 연결돼 있고 signing/provider
83+
readiness 가 크게 깨져 보이지 않는다는 뜻이지, 모든 WDA/trust/Appium seam 을
84+
완전히 증명한 것은 아니다.
7585
- 앱을 무엇을 테스트할지 물어본다.
7686
- `crill ios apps --json` 으로 설치된 앱을 보고 앱 이름 또는 bundle id 를
7787
해석한다.
@@ -96,8 +106,12 @@ export 받습니다.
96106
- `@corca.ai` 로그인에서 activation code 없이 자연스럽게 들어가는가
97107
- 에이전트가 사람 개입이 필요한 순간을 정확히 구분하는가
98108
- provider 를 어떻게 감지했고 무엇을 쓰겠다고 말하는지가 충분히 자연스러운가
109+
- provider 선택/저장이 `crill provider status --json``crill config provider set`
110+
흐름으로 자연스럽게 이어지는가
99111
- 새 세션 handoff 가 자연스러운가
100112
- `crill` skill 첫 실행이 `doctor` 기반으로 온보딩에 들어가는가
113+
- 첫 LLM 결정이 실패하면 애매하게 back/skip 하지 않고 provider 복구로 되돌아가는가
114+
- 그때 기존 `providers.default == ok` 만 믿고 같은 provider 로 바로 재시도하지 않는가
101115
- 앱 선택 뒤 첫 `scan -> report` 경로가 실제로 닫히는가
102116

103117
## 참여자에게 보낼 Slack 문안

scripts/release/crill.rb

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,15 @@ class Crill < Formula
1515
sha256 "__ARM64_SHA__"
1616

1717
def install
18-
bin.install "crill"
18+
libexec.install Dir["*"]
19+
bin.install_symlink libexec/"crill"
20+
end
21+
22+
def post_install
23+
# Best-effort warm-up so the first operator launch after install or
24+
# upgrade does not also pay the cold-start bundle load cost. Keep the
25+
# install successful even if Gatekeeper or host policy blocks execution.
26+
quiet_system libexec/"crill", "--version"
1927
end
2028
end
2129

skills/crill/SKILL.md

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,24 @@ crill doctor --json
2525
```
2626

2727
2. Use the onboarding contract phases to decide what is already complete and
28-
what still needs work. Skip completed phases and resume from the first
29-
incomplete phase.
28+
what still needs work. Treat these rows as the phase gates:
3029

31-
3. If there is no operator session yet, stop and tell the user exactly:
30+
- `gate.session` must be `ok`
31+
- `providers.default` must be `ok`
32+
- `home.saved-ios-device` must be `ok`
33+
34+
Skip completed phases and resume from the first incomplete phase.
35+
36+
3. If `gate.reachable` is `fail`, or `gate.session.extra.reason` is
37+
`gate_unreachable` / `server_unreachable`, stop on the gate/network problem
38+
and ask the operator to restore reachability before continuing from:
39+
40+
```bash
41+
crill doctor --json
42+
```
43+
44+
4. If `gate.session` is not `ok` for missing or stale-session reasons, tell
45+
the user exactly:
3246

3347
```bash
3448
Run `crill auth login <email>` in your terminal first, then continue from this onboarding contract.
@@ -42,9 +56,14 @@ When the onboarding contract reaches provider selection, inspect the available
4256
auth sources:
4357

4458
```bash
45-
crill provider status
59+
crill provider status --json
4660
```
4761

62+
If `providers.default` is already `ok`, keep it and continue unless the
63+
immediately previous first scan failed on the first LLM decision. In that
64+
failure case, re-run provider recovery instead of trusting the saved default
65+
again.
66+
4867
If exactly one provider is available, say which one was detected and persist it:
4968

5069
```bash
@@ -127,6 +146,9 @@ Human-only blockers to treat this way:
127146
3. Always include the exact resume command.
128147
4. Use [`references/ios-real-device.md`](references/ios-real-device.md) only
129148
after reading the current `crill` output and error text.
149+
5. If the first LLM decision fails during the first scan, stop and return to
150+
provider recovery instead of letting the scan drift. Do not trust
151+
`providers.default == ok` alone after that failure.
130152

131153
## What is not gated
132154

skills/crill/references/onboarding.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,19 @@ Read the current state first:
1919
crill doctor --json
2020
```
2121

22-
When the machine has no operator session yet, stop and tell the user exactly:
22+
Completion rule: `gate.session` from `crill doctor --json` must be `ok`.
23+
24+
If `gate.reachable` is `fail`, or `gate.session.extra.reason` is
25+
`gate_unreachable` / `server_unreachable`, stop on the gate/network problem.
26+
Do not tell the operator to log in again yet. Ask them to restore gate reachability,
27+
then resume with:
28+
29+
```bash
30+
crill doctor --json
31+
```
32+
33+
When `gate.session` is missing, invalid, or bound to a different gate, stop
34+
and tell the user exactly:
2335

2436
```bash
2537
Run `crill auth login <email>` in your terminal first, then continue from this onboarding contract.
@@ -34,11 +46,16 @@ Goal: one preferred provider is chosen and persisted for future scans.
3446
Inspect available auth sources:
3547

3648
```bash
37-
crill provider status
49+
crill provider status --json
3850
```
3951

4052
Rules:
4153

54+
0. If `providers.default` from `crill doctor --json` is already `ok`, keep it
55+
and continue, unless the immediately previous first scan failed on the first
56+
LLM decision. In that failure case, re-enter Phase 2 and require a fresh
57+
provider recovery step instead of trusting the saved default again.
58+
4259
1. If exactly one provider is clearly available, tell the operator which one
4360
was detected and persist it:
4461

@@ -77,9 +94,16 @@ explicit `--provider` flag overrides it.
7794

7895
## Phase 3 — iOS Device Setup
7996

80-
Goal: one real iOS device is selected and usable for `crill`.
97+
Goal: one real iOS device is selected, connected, and not obviously blocked on
98+
host-side signing/provider readiness.
8199

82-
If no saved iOS device is present yet, run:
100+
Completion rule: `home.saved-ios-device` from `crill doctor --json` must be `ok`.
101+
This proves the saved device is still connected and signing/provider readiness
102+
looks plausible; it does not replace `crill setup --ios` if later app listing
103+
or scan output shows a real Appium/WDA/trust blocker.
104+
105+
If no saved iOS device is present yet, or the saved one is no longer connected,
106+
run:
83107

84108
```bash
85109
crill setup --ios
@@ -152,6 +176,11 @@ crill report runs/<timestamp>/
152176
The golden path is `scan -> report`. `crill runs audit` is maintainer
153177
follow-up, not part of the participant default path.
154178

179+
If the first LLM decision fails, stop and return to provider recovery instead
180+
of letting the scan continue with blind back-navigation. Do not trust the
181+
existing `providers.default == ok` row alone after that failure; require a
182+
fresh provider recovery step first.
183+
155184
## Recovery Rules
156185

157186
1. Prefer current `crill` output over stale memory.

0 commit comments

Comments
 (0)