Skip to content

v0.5.3

Choose a tag to compare

@jitokim jitokim released this 09 Aug 16:13
· 43 commits to main since this release
622a99c

Four of these entries correct something this project had already published.
That is the release.

The subscription guarantee now holds on every platform it runs on (#142)

internal/childenv.Scrub compared environment keys exactly. Windows treats
env names as case-insensitive, so a lowercase anthropic_api_key survived
the scrub and reached the child
— a metered API bill on a run the user was
told is inside their plan. It was documented as a native-Windows caveat in
LIMITATIONS.md while README.md and SECURITY.md stated the deletion
unconditionally.

Matching is now case-insensitive on the whole key, on every platform — not
behind a GOOS=windows build tag, deliberately: a guarantee guarded by a path
CI never runs is how this hole survived in the first place. Prefix behaviour
is unchanged (ANTHROPIC_API_KEY_BACKUP still survives) and the scrubbed set
did not grow. Reverting the fix fails a Linux test.

An agent-mapped planned node cannot invoke a skill — retraction (#144)

ADR 0017 said an excluded node "already sees your real skills, so the
exclusion costs it little", and the plan printout told users so. Measured
false
, 8 spawns: arm T (the recorded argv, unchanged) fired 0 of 3; arm C1
(--tools WriteWrite,Skill, six characters, nothing else) fired 3 of 3.
The node has no Skill tool, so it invokes nothing — not the staged corpus
and not the user's own, whose definitions its settings do load. The loss is
total and lands by construction on design/review/doc nodes, where a procedure
fits best.

The raw tool_use records of all ten spawns are committed, so the verdict
does not rest on a directory outside this repository. The guard is kept
lifting it is a policy change, and ADR 0017 now carries the measurement that
would retire it.

ADR 0018's compliance baseline: 0 of 6 (#145)

Taken before the §6 planner clause exists, because afterwards the status quo's
number can never be taken. Over 6 real auto runs and 20 node transcripts:
zero git worktree add, zero git clone. Every non-compliant command was one
the planner wrote into the node's prompt, so node disobedience was never
observed.

The <50% trigger does not fire, and that is pre-registered rather than
post-hoc: the threshold judges the §6 advisory, and the baseline is by
construction advisory-free. The decision stands, resting now on §3's cleanup
costs alone — and is provisional from this date.

merge-shepherd re-waits for the checks its own fix restarted (#147)

The CI wait sat before triage, so when triage pushed a fix the checks
restarted and the merge node always met pending ones — five times in one day,
each ending in a promise reply the anchored verdict correctly rejected. A new
recheck node polls the final SHA in the foreground and answers one of
three: RECHECKED <sha>, BLOCKED <sha> (not in the pattern — the run halts
before the gate), UNSETTLED <sha> (hands off to WITHHELD). It judges the
whole check rollup, not one entry, and compares each review's commit.oid
against the head rather than assuming.

Also

  • The PR node is one shape, so it is a fragment (#143). Measured before
    extracting: the five PR <url> nodes share 83 words, 75% of the shortest
    prompt. The other repeated verdicts do not group by node — six DONE
    nodes share zero words — which is why a verdict: schema key would
    deduplicate the cheap half and leave the expensive one.
  • serve names the build answering the page (#148). The reported symptom
    — "dies silently, a stale binary holds the port" — was wrong on both halves.
    What was true: a serve started two days earlier kept serving the code it
    was compiled from, and nothing said so.
  • Company repository names removed from test fixtures (#140); a six-item drift
    sweep including a duplicate ADR number and three stale version stamps (#148).

Install: go install github.com/jitokim/oh-my-graph/cmd/oh-my-graph@v0.5.3

Full changelog: https://github.com/jitokim/oh-my-graph/blob/v0.5.3/CHANGELOG.md