feat(engine): replace built-in bundle with vendored behavioral-anchor#59
Merged
Conversation
Replace the inbuilt amplifier-agent-builtin bundle with a vendored copy of the
experimental behavioral-anchor bundle from amplifier-foundation@main:
experiments/behavioral-anchor/behavioral-anchor.md.
This introduces a new agent set (explorer, architect, builder, debugger, git-ops,
researcher) replacing the previous planner/coder/tester pattern. The new bundle
uses a parent-level tool inheritance model via tool-delegate's context_inheritance
feature, simplifying agent definitions and reducing duplication.
Five modifications made to the upstream behavioral-anchor to align with
amplifier-agent architecture:
1. Added default_provider: anthropic (engine reads from bundle frontmatter)
2. Dropped behaviors/streaming-ui.yaml and hooks-todo-display (stdout reserved
for JSON envelope; engine handles streaming via hook_streaming.py)
3. Dropped behaviors/logging.yaml; kept hook-context-intelligence to preserve
workspace JSONL alignment with amplifier-app-cli (PR #57)
4. Dropped hooks-approval (no wire-protocol approval round-trip yet)
5. Added tool-mcp (preserves MCP for existing users + doctor checks)
Cache implications: The warm-start prepared bundle is keyed by sha256(bundle.md),
which has changed. Users will see 30-90s of cold-start on first run after upgrade
(all foundation modules are cloned fresh and cache is repopulated).
Compliance: Tests updated for new agent set; protocol unchanged; wrapper SDKs
verified as name-agnostic and require no changes. Design doc TBD (can be promoted
from PR discussion if desired). Reference: 2026-05-19-baked-in-bundle-decision.md.
🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier)
Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
When a module fails with 'No module named' or 'failed validation' errors after a bundle.md change, the cause is usually a stale venv checkout, not a missing dep. Document the diagnostic sequence (cache clear + --refresh reinstall) and the finding that foundation's resolver does follow upstream module transitive deps with fresh git clones. This pitfall was discovered during PR #59 runtime testing where stale module checkouts twice masked missing deps that disappeared with a fresh install. Documented to prevent next contributor hitting the same issue. 🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier) Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
manojp99
added a commit
that referenced
this pull request
Jun 17, 2026
Captures the behavioral-anchor built-in bundle replacement merged in #59 (e0aed1f). New sub-session agent set, expanded tool roster, bundle renamed. Wire protocol unchanged at 0.3.0; no wrapper bump required. See CHANGELOG.md for full details and migration notes. Generated with [Amplifier](https://github.com/microsoft/amplifier) Co-authored-by: Manoj Prabhakar Paidiparthy <mpaidiparthy@microsoft.com> Co-authored-by: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
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
Replace the inbuilt
amplifier-agent-builtinbundle with a vendored copy of the experimentalbehavioral-anchorbundle from amplifier-foundation@main:experiments/behavioral-anchor/behavioral-anchor.md.This introduces a new agent set (explorer, architect, builder, debugger, git-ops, researcher) replacing the previous planner/coder/tester pattern. The new bundle uses a parent-level tool inheritance model via
tool-delegate'scontext_inheritancefeature, simplifying agent definitions and reducing duplication.The Five Modifications
When vendoring behavioral-anchor, we diverged from upstream in these five specific places to preserve amplifier-agent architectural properties:
default_providerdefault_provider: anthropicbehaviors/streaming-ui.yamlincludebundle/hook_streaming.pyhooks-todo-displaybehaviors/logging.yamlincludehook-context-intelligenceinsteadhooks-approvaltool-mcpdoctorcommand checks for itArchitecture Impact
Agent set is flexible — Engine, protocol, runtime, both wrapper SDKs, and conformance fixtures have zero hardcoded agent names. No production code changes required beyond packaging and tests.
Tool inheritance model — The new bundle moves tools from per-agent frontmatter (old pattern) to parent-level declaration (new pattern). Agents inherit via
tool-delegate.context_inheritance.enabled: true. Tests updated to validate agent definitions resolve correctly rather than checking for specific tool blocks.Bundle cache key — Cache is keyed by
sha256(bundle.md). The new manifest hash invalidates the warm pickle automatically; users see 30–90s of cold-start on first run after upgrade (foundation modules are cloned fresh).How to Verify Locally
Test Status
ruff check src/ tests/ruff format --checkpyright src/JsonDisplaySystem | CliDisplaySystemin single_turn.py:702 — verified pre-existing on mainpytest tests/ -m "not integration"Open Items
docs/designs/2026-06-15-behavioral-anchor-vendoring.md) if desired.tool-delegate.context_inheritanceshould be verified in a live session (architect or builder agent using bash/filesystem tools).extended_thinking: trueonloop-streaming. Verifyhook_streaming.pycorrectly forwards thinking blocks on the wire and that wrapper SDKs recognize them.Architectural Reference
This change builds on the architectural predecessor:
docs/designs/2026-05-19-baked-in-bundle-decision.md.PR Status
Marked DRAFT — this is a test branch for runtime verification before merge.