Add cfgit-agent coordination plugin#14
Open
AusafMo wants to merge 5 commits into
Open
Conversation
…ion-v1 # Conflicts: # skills/cfgit/SKILL.md # tests/test_ui_server.py
Drove the plugin end-to-end as a real human+agent against live Mongo seeded with real AI-Studio
data (modelgarden_models/agent_configs). 10 PASS / 2 GAP surfaced two gaps unit tests missed
(they always pass canonical shapes); both fixed → eval now 12/0/0.
- base_moved FAILED OPEN on shape mismatch: validate_patch keyed expected_base by record, so a
flat {head_seq,head_oid} (the obvious shape, and the shape base= wants) silently skipped the
stale-write check with no error. Add _resolve_expected_base to accept flat OR nested from either
base= or the intent. Regression: base_moved accepts all 4 shapes.
- No public lease renewal (spec §10): adapter had renew_lease but nothing exposed it. Add
coordinator.renew + AgentActions.renew + cfg_agent_renew MCP tool (ownership-checked).
docs/AGENT_COORDINATION_EVAL.md records the findings; deferred items (session takeover, review
tools, conflict semantics, require_intent/allow_path_expansion knobs, Postgres hardening) marked
explicitly. 194 pass, ruff clean. (eval/ harness stays local, gitignored.)
…le spec doc
Complete the eval-driven pass:
- Add two policy knobs the spec implied were configurable but weren't:
* require_intent (default true) — set false to allow validation without an open intent
* allow_path_expansion (default false) — set true to let a patch touch paths beyond the
intent's planned_paths
Wired through config (.cfg.toml [agent.policies]) → StaticAgentPolicy → validate_patch. When an
intent IS supplied it's still scope-checked even if not required. Guarded None-intent paths.
- Reconcile docs/AGENT_COORDINATION_SPEC.md with a top-of-file 'Implementation status' section:
what's implemented+validated, what was just added, and what's DEFERRED (session takeover, review
approval tools, conflict-resolution semantics, idempotency key-scope wording) — so the 1200-line
design doc no longer over-promises vs the runtime.
Tests: +3 (allow_path_expansion permits out-of-plan path; require_intent=false proceeds; default
still blocks) + config parsing asserts the new keys. 197 pass, ruff clean, live eval 12/0/0.
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.
Summary
Verification
Notes