Commit addfc19
committed
cli: run format and lint without state
Add `LOCAL_ONLY_COMMANDS = ("format", "lint")` and pass
`load_state=False` to the `Context(...)` constructor for those
subcommands. Mirrors the existing `SKIP_LOAD_COMMANDS` shape; one new
tuple, one new local, one new kwarg in the Context call.
With Task 1's gate in place, `format` and `lint` now run end to end
with no state-sync connection, no warehouse connection, and no
credentials. A CI job with zero secrets can run them against a real
project.
Three new slow CLI tests share a setup helper that scaffolds an empty
project, sets a non-empty `project` name (so `any(self._projects)`
gates on `self._load_state` rather than short-circuiting on the empty
string default), patches `EngineAdapterStateSync.get_versions` to
raise, and writes one model file. The format and lint tests assert
`exit_code == 0` and that the patch was never called. The guard-rail
test spies on `Context.__init__` and asserts every call passed
`load_state=True` for `plan` — stronger than asserting state was
touched later, since `plan` would touch state regardless of
`load_state` via `context.plan(...)`.
Plan updated to reflect the spy-based assertion and the
patch-throughout test mechanism.
Coding-Agent: pi
Model: google/gemini-3.5-flash
Signed-off-by: Joe Hartshorn <8881940+j-hartshorn@users.noreply.github.com>1 parent 82e0487 commit addfc19
3 files changed
Lines changed: 59 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
124 | | - | |
| 124 | + | |
125 | 125 | | |
126 | | - | |
127 | | - | |
128 | | - | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
129 | 129 | | |
130 | | - | |
131 | | - | |
132 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| |||
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
| 119 | + | |
118 | 120 | | |
119 | 121 | | |
120 | 122 | | |
| |||
123 | 125 | | |
124 | 126 | | |
125 | 127 | | |
| 128 | + | |
| 129 | + | |
126 | 130 | | |
127 | 131 | | |
128 | 132 | | |
| |||
135 | 139 | | |
136 | 140 | | |
137 | 141 | | |
| 142 | + | |
138 | 143 | | |
139 | 144 | | |
140 | 145 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2237 | 2237 | | |
2238 | 2238 | | |
2239 | 2239 | | |
| 2240 | + | |
| 2241 | + | |
| 2242 | + | |
| 2243 | + | |
| 2244 | + | |
| 2245 | + | |
| 2246 | + | |
| 2247 | + | |
| 2248 | + | |
| 2249 | + | |
| 2250 | + | |
| 2251 | + | |
| 2252 | + | |
| 2253 | + | |
| 2254 | + | |
| 2255 | + | |
| 2256 | + | |
| 2257 | + | |
| 2258 | + | |
| 2259 | + | |
| 2260 | + | |
| 2261 | + | |
| 2262 | + | |
| 2263 | + | |
| 2264 | + | |
| 2265 | + | |
| 2266 | + | |
| 2267 | + | |
| 2268 | + | |
| 2269 | + | |
| 2270 | + | |
| 2271 | + | |
| 2272 | + | |
| 2273 | + | |
| 2274 | + | |
| 2275 | + | |
| 2276 | + | |
| 2277 | + | |
| 2278 | + | |
| 2279 | + | |
| 2280 | + | |
| 2281 | + | |
| 2282 | + | |
| 2283 | + | |
| 2284 | + | |
| 2285 | + | |
| 2286 | + | |
0 commit comments