Bump agentseam to 0.3.1 and regenerate the vendored runtimes - #150
Conversation
Refuse a raising handler in agentseam's own dispatch (chock's outer try/except in gate/runtime_bundle.py stays for now as defense in depth), and write dump() output as LF everywhere -- a path chock's own code never calls. Regenerate the runtime goldens, the ten per-agent vendored runtimes, and the hash-pinned brand-assets requirements to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
|
Heads up: the
Generated by Claude Code |
antigravity was never in this repo's supported_agents, so sync's hook-wiring never called vendor_runtime() for it -- the committed runtime just sat there, unrewritten, drifting against every future bundler-output change the moment agentseam's render for it moved (as it just did going to 0.3.1). recompile() now removes a wired vendor's runtime the moment it falls out of the configured agent list, matching the same cleanup already done for a vendor's other hook fragments. Removes the now-orphaned file here as the first beneficiary. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
|
Pushed a real fix for the Generated by Claude Code |
CI on this PR's own head caught a live instance of #151 in this repo's dogfooded config: antigravity left supported_agents under #150 and its runtime was pruned, but .agents/hooks.json still named it, and the new check_dangling_hook_targets() failed the build on it. _uninstall_unwired_vendors() gated uninstalling a vendor on its runtime still being on disk, which is exactly the trace #151 itself does not leave -- the earlier, buggy sync already deleted the runtime without touching the config. _vendor_needs_uninstall() also recognises chock's own marker still sitting in a vendor's config (the owned agent-hooks file's mere existence for that vendor family, or the vendored-runtime path -- current or legacy-named, per owned_markers() -- appearing in the vendor's config text), so a repo already broken by 0.9.1 self-heals on its next sync too, not only one that narrows supported_agents with the runtime still present. Regenerates this repo's own .agents/hooks.json (deleted: it held only chock's now-dangling antigravity entries). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
What
Bump chock's
agentseampin from 0.3.0 to 0.3.1 and regenerate everything derived from it.Base note: this started from
claude/epic-gauss-l6f2i4(the head of #149), which merged intomainshortly before this branch was pushed.main's tip (ff43d1e) is the merge of #149 with no other commits since, soorigin/mainis merged into this branch and the PR is based onmain.Why each file changed
pyproject.toml,requirements/brand-assets.in/.txt: theagentseam==0.3.0pin →0.3.1everywhere it's pinned (the hash-pinnedbrand-assets.txtregenerated withpip-compile --generate-hashes; both new sha256 hashes verified against PyPI's published digests for the 0.3.1 sdist/wheel). No other pin ofagentseam==0.3.0exists in the repo outside historical CHANGELOG prose, which is left alone.tests/fixtures/runtime_goldens/*.pyand.chock/bin/*.py(10 vendors each): regenerated viaCHOCK_REGEN_GOLDENS=1 pytest tests/test_runtime_goldens.pyandchock sync --repo .. The diff is what 0.3.1's CHANGELOG explains: agentseam's owndispatch-equivalent now refuses a handler that raises, in the vendor's own dialect, instead of letting the exception escape — every vendored runtime'smain()gains a_decide()/_report()wrapper that catches a raising handler and answers deny with the exception class named (never its message, which may quote policy-inspected content).dump()also now writes LF on every platform, but nothing chock imports (bundler,contract,matrix,adapters,packaging,instructions,matrix_terms) calls it, so it has no effect on this repo's output.gate/runtime_bundle.py'sdispatch.py.tmplhandle()(chock's own try/except around_judge(), deny-on-exception) is now redundant with agentseam's new inner catch for every vendored runtime this repo emits — chock's handler never lets an exception past_judge()in the first place. Kept as-is for this release as defense in depth rather than removed in the same cycle as the version bump, per plan.CHANGELOG.md: one bullet under## 0.9.1describing the bump, what changed in the vendored runtimes and why, and that every adopter's nextchock syncrewrites.chock/bin/*.py.src/chock/scaffold/recompile.py+tests/test_sync_wires_only_supported_agents.py,.chock/bin/antigravity.py(added in a follow-up commit):antigravityisn't in this repo'ssupported_agents, sochock sync's hook-wiring never calledvendor_runtime()for it — the committed file just sat there unrewritten, and drifted the moment 0.3.1 changed the bundler output for it (chock sync --repo . --checkandchock check --only verifyboth flagged it, since they check any.chock/bin/<vendor>.pyfound on disk regardless ofsupported_agents). Root-caused and fixed rather than deferred:recompile()now prunes a vendor's runtime the instant it falls out of the configured agent list, the same cleanup already applied to that vendor's other hook fragments — so a dropped vendor's runtime is deleted, not left to rot..chock/bin/antigravity.pyis removed as the first beneficiary. New test:test_a_vendor_dropped_from_supported_agents_has_its_runtime_pruned.Not touched:
.claude/settings.json,.codex/hooks.json,.devin/hooks.v1.json,.gemini/settings.json,.tabnine/agent/settings.json—chock syncre-bakes the running interpreter's absolute path (sys.executable) into these on every environment, which would have shown as pure noise from this sandbox; reverted both times since no check in the gate compares their content and they carry no agentseam-derived bytes.Verification
chock.lockis unchanged: it hashes.agents/policies/*pack contents and.chock/compiled/<policy>trees, neither of which this bump touches; vendored-runtime freshness is checked live at verify time, not via a stored hash.chock plugin build --checkrun only against the 5 policies that already have packaged output (18 of 24 policies have noplugin.jsonyet in this repo — pre-existing, unrelated to this bump); those 5 are unaffected by the agentseam bump.CI note
The
CIworkflow never ran on this PR's first two commits: itspull_requesttrigger only fires on GitHub's default types (opened/synchronize/reopened) when the base matches[main, master, develop], and this PR's base changed tomainvia the API rather than a push, so no matching event ever fired (see the PR comment history). This commit's push is a genuinesynchronizewith base alreadymain, soCIshould now run for real.Not in this PR
The
v0.9.1tag.🤖 Generated with Claude Code