Commit 1f8dcd3
committed
fix(spec-044): env_kind prioritize cloud_ide over ci (gemini P1)
Gemini cross-review flagged that Codespaces + Gitpod routinely set
CI=true alongside their own markers (CODESPACES, GITPOD_WORKSPACE_ID).
With the original CI-wins ordering from design §4.2 / research.md R1,
real humans working in ephemeral cloud IDEs were being classified as
`ci`, artificially deflating Cloud IDE retention numbers and skewing
the activation funnel.
Reorder the decision tree so cloud_ide is checked before ci. Ordinary
CI runners (without CODESPACES/GITPOD/etc.) still classify as `ci`.
This intentionally deviates from the locked design doc; comment block
updated to explain why and cite the cross-review finding.
Tests:
- Add cloud-ide-codespaces-beats-ci (CI=true + CODESPACES=true -> cloud_ide)
- Add cloud-ide-gitpod-prebuild-beats-ci (CI=true + GITPOD_WORKSPACE_ID -> cloud_ide)
- Existing ci-beats-container case still passes (no cloud-IDE markers).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent ae18298 commit 1f8dcd3
2 files changed
Lines changed: 38 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
146 | | - | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
147 | 155 | | |
148 | 156 | | |
149 | 157 | | |
| |||
176 | 184 | | |
177 | 185 | | |
178 | 186 | | |
179 | | - | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
180 | 190 | | |
181 | | - | |
182 | | - | |
183 | 191 | | |
184 | 192 | | |
| 193 | + | |
| 194 | + | |
185 | 195 | | |
186 | 196 | | |
187 | 197 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
145 | 168 | | |
146 | 169 | | |
147 | 170 | | |
| |||
0 commit comments