You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+63Lines changed: 63 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,41 @@ oh-my-graph is **alpha software**. The graph YAML schema, the CLI, and the
12
12
13
13
### Changed
14
14
15
+
-**An unresolvable `{{ inputs.x }}` or `{{ artifacts.id }}` now says that a
16
+
merely-quoted placeholder is resolved too, and how to quote one.** The two
17
+
reasons were written as if the graph had meant the token — the artifact one
18
+
asserts "its producing node has not completed" about a node that may not
19
+
exist — so a prompt that only explains the syntax to the model got a
20
+
diagnostic pointing at wiring that was never there.
21
+
22
+
Before, both errors said only what was missing:
23
+
24
+
```
25
+
cannot resolve {{ inputs.demo }}: no such input was provided
26
+
cannot resolve {{ artifacts.nosuch }}: artifact not available (its producing node has not completed)
27
+
```
28
+
29
+
After, each carries a second line stating the rule and the way out:
30
+
31
+
```
32
+
cannot resolve {{ inputs.demo }}: no such input was provided
33
+
note: every {{ ... }} in a prompt is resolved, including one that is only being quoted or explained — to keep such text literal, break the two braces apart ("{ {"), or pass the text in as an input or artifact instead of writing it in the prompt
34
+
```
35
+
36
+
The artifacts form gains the same single line after `artifact not available
37
+
(its producing node has not completed)`. The command those two captures came
38
+
from is the address for them — a graph whose prompts only *mention* the
39
+
syntax:
40
+
41
+
```sh
42
+
go run ./cmd/oh-my-graph run /tmp/omg-repro-placeholder.yaml --dry-run
43
+
```
44
+
45
+
Appended at exactly those two sites and nowhere else: a filter on a feedback
46
+
token and an unreadable artifact file are real wiring bugs, where this advice
47
+
would mislead. Wording only — no escaping syntax, no flag, and what
48
+
`Interpolate` resolves is unchanged.
49
+
15
50
-**`runs list` collapses the per-run skip warnings into one summary line, and
16
51
the detail moves behind `--show-skipped`.** Option chosen: *collapse by
17
52
default, restore on demand* — not silence, and not a filter. Every skipped
@@ -69,6 +104,22 @@ oh-my-graph is **alpha software**. The graph YAML schema, the CLI, and the
69
104
reason counts and this detail lives in `internal/runstatus`, so the four
70
105
surfaces answer for the same directory with the same words instead of four
71
106
different ones.
107
+
108
+
-**A guard over the user-facing documents, run by `make test`:** `go test
109
+
./internal/docsclaims/`. It **walks** the document set rather than listing it
110
+
— every `*.md` at the repository root and every `*.md` under `docs/` and
111
+
`plugin/` — so a document that lands tomorrow is scanned tomorrow, and the
112
+
roots it must reach are asserted present rather than used to pick what gets
113
+
read. What it fails on is narrow: the two absolutes ADR 0032 falsified, stated
114
+
anywhere with nothing conditioning them. Each failure carries the file, the
115
+
line, the sentence and the code address that falsifies it
116
+
(`internal/coordinator/coordinator.go:763-765`,
117
+
`internal/runner/claude_protocol.go:55-56`), so it can be retraced instead of
118
+
believed. It demands nothing of any document: a file that states neither claim
119
+
is never a finding. It was watched failing before it was trusted — the
120
+
pre-correction `docs/EXAMPLES.md` wording put back verbatim, the failure read,
121
+
the file restored.
122
+
72
123
### Fixed
73
124
74
125
-**The planner now shares the assessor's bounded spawn retry.**#214 gave the
@@ -116,6 +167,18 @@ oh-my-graph is **alpha software**. The graph YAML schema, the CLI, and the
116
167
refusal now says what that refusal costs in coverage. Both name the same
117
168
route rather than warning without one: `run`, on a hand-written graph, with
118
169
your own `verify:` on whichever nodes you mean.
170
+
-**Five documentation sentences that v0.11.0 made false**, each corrected
171
+
against the code rather than against the surrounding prose. `docs/EXAMPLES.md`
172
+
told a reader whose `auto` run depended on an MCP server that it "will stop
173
+
working", full stop, when `--accept-loaded-user-config` is exactly the door out
174
+
of that (`internal/coordinator/coordinator.go:763-766` sets `StrictMCPConfig`
175
+
false, and `internal/runner/claude_protocol.go:55-56` then emits no flag).
176
+
`docs/LIMITATIONS.md` said no tagged build carried that flag — `git grep
177
+
accept-loaded-user-config v0.11.0 -- cmd/oh-my-graph/flags.go` finds it at
178
+
`:166` inside the tag — and stamped its gaps "as of v0.10.0" in three places
179
+
while `cmd/oh-my-graph/version.go:9` reads `0.11.0`. The clause that survived
180
+
the deletion is the true half: a run that types nothing is byte-for-byte the
0 commit comments