Skip to content

Commit 345b1f7

Browse files
chore(release): v0.1.114-rc.2 [skip ci]
1 parent d6197f0 commit 345b1f7

6 files changed

Lines changed: 121 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,122 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
66

77
<!-- changelog:entries -->
88

9+
## [0.1.114-rc.2] - 2026-07-22
10+
11+
12+
### Added
13+
14+
- Feat(cli): surface the harness golden path (af wait, catalog, golden_path help, JSON envelopes) (#816)
15+
16+
* feat(cli): emit a JSON envelope for af call --async under -o json
17+
18+
`af call --async` printed a bare run-id string on stdout for every output
19+
format, so a harness parsing `-o json` got a non-JSON token. Under an
20+
explicitly requested machine format (-o json/-o yaml) it now emits
21+
{"run_id": "...", "status": "accepted"} so parsers get valid JSON/YAML.
22+
23+
The default and pretty paths keep the bare run-id line that shell scripts
24+
capture via RUN_ID=$(af call node.reasoner --async), so that contract does
25+
not regress.
26+
27+
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
28+
29+
* feat(cli): surface the golden path in af agent help
30+
31+
The machine-friendly `af agent help` payload taught discovery and
32+
introspection but never execution: quick_start omitted `af call` and
33+
`af tail` entirely, so a harness could find agents but was never shown how
34+
to run one.
35+
36+
Add a `golden_path` field — an ordered array of {step, command, purpose}
37+
covering the full driving loop (doctor → catalog → install → secrets →
38+
run → ls/discover → call --schema → call --async → wait/tail) — and add
39+
`af call` and `af tail` entries to quick_start.
40+
41+
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
42+
43+
* feat(cli): install both AgentField skills when no skill name is given
44+
45+
`af skill install` with no argument resolved to Catalog[0] and installed
46+
only the `agentfield` build skill, never `agentfield-use` — the drive
47+
skill that documents the discover → call → wait loop. A first-time user
48+
therefore never got the golden-loop docs.
49+
50+
Add skillkit.InstallAll, which installs every catalog skill into the
51+
resolved targets, and call it from `af skill install` when no skill name
52+
is passed. Explicit `af skill install <name>` is unchanged. The
53+
interactive picker copy now names both skills (build + drive).
54+
55+
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
56+
57+
* feat(cli): add a shared control-plane-unreachable hint
58+
59+
`af call`/`af ls`/`af tail` emitted a raw Go dial error when the control
60+
plane was down, with no guidance — while `af agent` commands already
61+
appended a reachability hint. Every CLI command that talks to the control
62+
plane routes through makeRequest, so wrap a transport-level failure there
63+
with a shared, actionable hint:
64+
65+
Control plane not reachable at <url>. Start it with `af server` or
66+
launch the AgentField desktop app.
67+
68+
A cancelled context (Ctrl-C / caller-handled timeout) is passed through
69+
unwrapped so only genuine connectivity failures get the hint.
70+
71+
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
72+
73+
* feat(cli): add af wait to block on an async run
74+
75+
`af call --async` returns a run_id, but there was no first-class way to
76+
block until that run finished — a harness had to poll or tail. Add
77+
`af wait <run_id> [--timeout <sec, default 600>]`: it polls the run
78+
overview (the same /api/v1/agentic/run/:run_id API `af agent run --id`
79+
uses) until every execution is terminal, prints the final status and
80+
result as JSON, and maps outcomes to exit codes — 0 on succeeded, 1 on
81+
failed/cancelled, 2 on timeout.
82+
83+
A 404 (records not yet written after an async accept) is treated as
84+
"not ready" so a freshly-accepted run keeps polling. The command also
85+
exercises the shared control-plane-unreachable hint, covered here by a
86+
cross-command test over call/ls/tail/wait.
87+
88+
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
89+
90+
* feat(cli): add af catalog to browse installable agent nodes
91+
92+
There was no CLI way to discover installable nodes — the only curated
93+
catalog lived in the desktop app (desktop/src/shared/catalog.ts). Add
94+
`af catalog`, backed by an in-binary catalog seeded from that same
95+
curated list (name, description, install source, docs URL), so a harness
96+
can browse nodes before `af install` and works offline.
97+
98+
Supports `-o json`/`-o yaml`; the human table ends with the hint
99+
`af install <source>`.
100+
101+
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
102+
103+
* test(cli): cover af wait/catalog command paths for the patch gate
104+
105+
Add behavior tests for the previously-untested command wiring and
106+
error paths surfaced by the coverage patch gate:
107+
108+
- af wait: pretty output, invalid-format/empty-id (exit 2), a control
109+
plane 5xx (exit 3), the nil-opts default path, end-to-end command
110+
execution, and rootExecutionResult (explicit root, last-execution
111+
fallback, non-JSON, empty).
112+
- af catalog: end-to-end command execution under -o json.
113+
- af skill install <name>: the explicit-name path stays single-skill.
114+
- makeRequest: a cancelled context is passed through unwrapped, not
115+
relabeled as an unreachable-control-plane error.
116+
117+
Raises control-plane patch coverage back over the 80% floor.
118+
119+
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
120+
121+
---------
122+
123+
Co-authored-by: Claude Fable 5 <noreply@anthropic.com> (d6197f0)
124+
9125
## [0.1.114-rc.1] - 2026-07-22
10126

11127

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.1.114-rc.1
1+
0.1.114-rc.2

control-plane/internal/templates/go/go.mod.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ module {{.GoModule}}
22

33
go 1.23
44

5-
require github.com/Agent-Field/agentfield/sdk/go v0.1.114-rc.1
5+
require github.com/Agent-Field/agentfield/sdk/go v0.1.114-rc.2

sdk/python/agentfield/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,4 +181,4 @@
181181
"reasoner",
182182
]
183183

184-
__version__ = "0.1.114-rc.1"
184+
__version__ = "0.1.114-rc.2"

sdk/python/pyproject.toml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/typescript/package.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)