Wake the supervisor promptly after catalog publication - #433
Merged
Conversation
agent-identity: dev3.direct.omp.4ndwdn2g agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.1.2 agent-runtime: OMP 18.1.2 tooling-profile: dotfiles@7904863
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.
Problem
Three successful
axe agent newpublications waited 21.0s, 18.4s, and 17.4s for a supervisor configured with a 30s audit interval. The issue attributed this to a timer-only loop, but the reported st2 revision already had a catalog declaration watcher. A pre-change 750-agent atomic-bundle test also received the expected declaration event, so the exact production event loss remains unproved.Goal
Make cooperative catalog publication start a serialized reconciliation pass promptly, without removing prompt authorized direct Agent Spec replacement or weakening the timer fallback.
Decisions
.st2/catalog-generationreplacement. Every successful built-in catalog transaction already commits this file after durable publication.Verification
Before → after:
Run locally:
nix develop --command cargo test --lib watch— 25 passed, including a 750-agent atomic bundle, generation replacement, control-directory replacement, fallback cadence, and negative event filters.nix develop --command cargo test --lib run::tests::supervisor_wakes_and_launches_a_new_direct_declaration -- --exact— passed.nix develop --command cargo test --lib run::tests::idle_supervisor_does_not_spin_on_its_own_catalog_reads -- --exact— passed.nix flake check --print-build-logs— passed after review hardening (22 x86_64-linux checks).axe vrs check --profile strict docs/vrs— no diagnostics for the new decision or experiment. The repository has unrelated pre-existing strict VRS diagnostics.Pre-flip deviation: standalone
cargo test --test invariantsfails identically on pristineorigin/mainbecause an existing Resource Profile invariant references the removed testdemand_observation_settlement_matrix_is_atomic_and_preserves_facts. All four new proof functions exist; the repository Nix gate passes.Complexity
One small wrapper owns two
notifybackends and their independent retry state. No dependency or new process boundary is added.Concerns
Friction & bottlenecks
Follow-ups
axe agent newcanary to collect fleet evidence. The canary verifies deployment; it is not part of the source mechanism.References
docs/vrs/.decisions/0015-catalog-commits-and-direct-edits-use-independent-wake-channels.mddocs/vrs/.experiments/2026-09-03-catalog-reconcile-wakeup.mdPosted on behalf of @schickling
agent_identitysessionagent_personaagent_supervisoragent_toolagent_tool_versionagent_runtimetooling_profile