From 3a76e52a5d22d70a239ca6761f8d07ac869e0c95 Mon Sep 17 00:00:00 2001 From: Ken Date: Tue, 26 May 2026 19:54:18 +0000 Subject: [PATCH] feat: thin root bundle including foundation --- bundle/bundle.md | 22 +++++++++++++++ tests/test_bundle_md.sh | 59 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 bundle/bundle.md create mode 100755 tests/test_bundle_md.sh diff --git a/bundle/bundle.md b/bundle/bundle.md new file mode 100644 index 0000000..8b497d0 --- /dev/null +++ b/bundle/bundle.md @@ -0,0 +1,22 @@ +--- +bundle: + name: research-workbench + version: 0.1.0 + description: General-purpose AI research tool with browser control and artifact generation + +includes: + - bundle: git+https://github.com/microsoft/amplifier-foundation@main + - bundle: research-workbench:behaviors/research-workbench +--- + +# Research Workbench + +A research-first Amplifier bundle. Provides a researcher agent with browser control (via playwright-cli), artifact generation, and A2UI inline controls. + +## What's Included + +**From foundation:** tool-bash, tool-filesystem, tool-web-fetch, and all standard hooks. + +**From this bundle:** +- `researcher` agent — browser-equipped research assistant +- Research workbench behavior — wires the researcher agent with context diff --git a/tests/test_bundle_md.sh b/tests/test_bundle_md.sh new file mode 100755 index 0000000..d48e107 --- /dev/null +++ b/tests/test_bundle_md.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# test_bundle_md.sh - Verify bundle/bundle.md thin root bundle (task-1) +# RED: Run before file is created (should fail) +# GREEN: Run after file is created (should pass) + +REPO=/home/ken/workspace/research-workbench +BUNDLE_MD="$REPO/bundle/bundle.md" +PASS=0 +FAIL=0 + +check_file_exists() { + if [ -f "$BUNDLE_MD" ]; then + echo "PASS: 'bundle/bundle.md' exists" + ((PASS++)) + else + echo "FAIL: 'bundle/bundle.md' should exist but is missing" + ((FAIL++)) + fi +} + +check_contains() { + local description="$1" + local pattern="$2" + if grep -qF "$pattern" "$BUNDLE_MD" 2>/dev/null; then + echo "PASS: bundle.md contains '$description'" + ((PASS++)) + else + echo "FAIL: bundle.md is missing '$description'" + ((FAIL++)) + fi +} + +echo "=== Checking bundle/bundle.md exists ===" +check_file_exists + +echo "" +echo "=== Checking YAML frontmatter fields ===" +check_contains "bundle name: research-workbench" "name: research-workbench" +check_contains "bundle version: 0.1.0" "version: 0.1.0" +check_contains "bundle description" "description: General-purpose AI research tool with browser control and artifact generation" + +echo "" +echo "=== Checking includes ===" +check_contains "foundation git+https URL" "git+https://github.com/microsoft/amplifier-foundation@main" +check_contains "research-workbench behavior include" "research-workbench:behaviors/research-workbench" + +echo "" +echo "=== Checking body content ===" +check_contains "tool-bash reference" "tool-bash" +check_contains "tool-filesystem reference" "tool-filesystem" +check_contains "tool-web-fetch reference" "tool-web-fetch" +check_contains "researcher agent reference" "researcher" + +echo "" +echo "==============================" +echo "Results: $PASS passed, $FAIL failed" +echo "==============================" + +[ $FAIL -eq 0 ] && exit 0 || exit 1