add agtermctl version and teach the agent skill the cookbook - #476
Merged
Conversation
recipes check a minimum agterm version and nothing exposed one. $TERM_PROGRAM_VERSION does not reach a keymap- or palette-launched process, so a recipe preflight had no source at all. One AppIdentity, built in the app target and injected into ControlServer, feeds tree.app, version, and the spawned terminal's TERM_PROGRAM_VERSION, so the three cannot drift apart.
the skill mentioned the cookbook once, as a URL, so an agent could neither list recipes nor install one. cookbook.md holds the mechanism and no recipe names, since the list lives in the repo and changes independently of the skill. Installing merges rather than replaces, and acquisition pins to one commit SHA so the index read and the payload copied come from the same tree.
reuse the shared CLI request path, pin cookbook.md in the bundle test, and restore version tests to their own sections. Keep the website result catalog in sync with result.app.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
the bundled agent skill knew the cookbook only as a bare URL in
examples.md, so an agent asked to list recipes or set one up had nothing to work from. It also had no way to check a recipe's minimum version, sinceagtermctlreported none and$TERM_PROGRAM_VERSIONnever reaches a keymap- or palette-launched process, which is how a recipe normally runs.agtermctl versionreports which agterm is serving the socket. App-global: no target, no--window, and no window need be open. OneAppIdentityis built in the app target fromBundle.mainand injected intoControlServer, feedingtree.app, the command, and each spawned terminal'sTERM_PROGRAM_VERSIONfrom a single value, so the three cannot drift apart.commitrides beside the version as diagnostics and is never part of a comparison.human output adds a
client:line naming the resolved path of theagtermctlthat ran, which catches a stale CLI ahead of the bundled helper onPATH. That line is human output only;--jsonstays the raw response.cookbook.mdcarries no recipe names. It resolvesmasterto a commit SHA, reads the index at that SHA, resolves a requested name only against links in that index, and materializes from the same SHA, so the index read and the payload copied come from one tree and no URL is ever assembled from a name. Installing follows the recipe's own Setup: read each file first, add only if absent, stop and ask on a duplicate command or an occupied chord. It also covers reading a recipe as reference for a tricky workflow rather than installing it.two doc drifts fixed along the way:
SKILL.mdclaimed the tree had five top-level fields andsite/commands.htmlclaimed seven, where it has twelve.