vinta-ai-workflows 0.7.0-alpha5 → 0.7.0-alpha6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,7 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
## [0.7.0] — YYYY-MM-DD
|
|
9
9
|
|
|
10
|
+
<!-- pre-release: 0.7.0-alpha6 on 2026-09-13 -->
|
|
10
11
|
<!-- pre-release: 0.7.0-alpha5 on 2026-09-13 -->
|
|
11
12
|
<!-- pre-release: 0.7.0-alpha4 on 2026-09-13 -->
|
|
12
13
|
<!-- pre-release: 0.7.0-alpha3 on 2026-09-12 -->
|
|
@@ -220,6 +221,42 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
220
221
|
|
|
221
222
|
### Fixed
|
|
222
223
|
|
|
224
|
+
- **An agent can run a shell command.** `auto` mapped to the vendor's
|
|
225
|
+
`acceptEdits`, which accepts file *edits* and nothing else — a shell command
|
|
226
|
+
still goes to a permission prompt, and in `-p` there is nobody to answer one.
|
|
227
|
+
A run of eight phases died of it: the agents wrote their code and were then
|
|
228
|
+
refused `ruff`, `pytest`, `git add` and `docker compose`, **69 denials across
|
|
229
|
+
two lanes**, every gate failing on work that was never allowed to be checked.
|
|
230
|
+
`auto` now allows `Bash` in the policy file it already writes.
|
|
231
|
+
|
|
232
|
+
What that costs is worth stating plainly: **`Bash` was never confined to the
|
|
233
|
+
lane.** The deny list covers the file-editing tools and a shell redirection
|
|
234
|
+
walks through it, so allowing the shell allows commands on the machine.
|
|
235
|
+
`auto` has always promised exactly this in words — "the agent works unattended
|
|
236
|
+
inside its lane" — and this is the first version where the words are true.
|
|
237
|
+
`ask` still does not allow it: that mode exists for a human at the browser,
|
|
238
|
+
and the prompt is its purpose.
|
|
239
|
+
|
|
240
|
+
- **A refusal says why, in the words the harness used.** `permission_denied`
|
|
241
|
+
carried a decision token and deliberately dropped the sentence beside it, on
|
|
242
|
+
§11 grounds. Then a run failed with forty-five denials reading
|
|
243
|
+
`reason: "other"`, and finding out what that meant cost an afternoon and a
|
|
244
|
+
rebuilt reproduction — the sentence said "this Bash command contains multiple
|
|
245
|
+
operations; the following parts require approval". §11 keeps repository
|
|
246
|
+
*contents* out of the record; a refusal's own explanation is not contents, and
|
|
247
|
+
the `tool_use` row above it already carries the path and the command verbatim.
|
|
248
|
+
Withholding it protected nothing and hid the one fact worth having.
|
|
249
|
+
|
|
250
|
+
- **`serve` opens a run that has already finished.** The API resolved a run from
|
|
251
|
+
the in-memory registry *and* the journal and required both, so a daemon
|
|
252
|
+
started with nothing running listed the operator's history — the list reads
|
|
253
|
+
the journal — and then answered 404 for every run in it, under a message
|
|
254
|
+
saying the daemon was not running. Reads now need only the journal, which is
|
|
255
|
+
where a run's whole record lives and which outlives the daemon by design
|
|
256
|
+
(§5.3). Steering a finished run is still refused, with `409` rather than
|
|
257
|
+
`404`: the run exists, and saying it does not sends the operator hunting for a
|
|
258
|
+
typo instead of reading the status in front of them.
|
|
259
|
+
|
|
223
260
|
- **Four places the UI asked the operator to work around it.** The transcript
|
|
224
261
|
opened at the *oldest* row it held, so a live agent's newest line — the one
|
|
225
262
|
the panel was opened to read — sat below the fold and every arriving entry
|
package/package.json
CHANGED