feat: Alpha integration test suite via filedrop #143
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Competitor
Kind/Documentation
Kind/Enhancement
Kind/Epic
Kind/Feature
Kind/Security
Kind/Story
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Scope/Core
Scope/Cross-Plugin
Scope/Plugin-System
Scope/Single-Plugin
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ultanio/cobot#143
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
A bash test script that exercises Alpha end-to-end via filedrop messaging. Lives in the repo, gets deployed to olymp.
Architecture
How It Works
FileDropPlugin.receive()(polls every 30s)exec("filedrop send ...")Key Facts
ollama(qwen2.5:3b) — responses will be LLM-generated, not deterministicexec("filedrop send ...")(see #140)polling.interval_seconds: 30) — tests need generous timeouts/olymp/filedrop/TestRunner/(inbox dir present)/olymp/agents.json— TestRunner needs an entry if wake support is wanted/usr/local/bin/filedrop— useFILEDROP_AGENT=TestRunner filedrop send Alpha ...Message Format
Messages are JSON files in
/olymp/filedrop/<Agent>/inbox/:Implementation
File:
tests/integration/test_alpha.shCore Functions
Test Cases
echo hello_from_alphaand tell me the output"Dropped from original spec:
memory— Alpha uses qwen2.5:3b which may not reliably do multi-turn memory in filedrop contextknowledge— knowledge plugin may not be configuredcron— cron tools exist but testing scheduling via filedrop is flakyerror_handling— hard to validate graceful error handling from outsideThese can be added as follow-ups once the basic suite works.
Report Format
Output to stdout and optionally to a file (
--report <path>):Exit Codes
0— all tests passed1— one or more tests failed2— script error (missing dependencies, bad args)Deployment & Execution
In the repo
tests/integration/test_alpha.sh(chmod +x)tests/integration/README.mdOn olymp (after deploy)
scripts/deploy-alpha.shcopiestests/integration/*→/olymp/shared/tests/on every deploy.To run tests manually on olymp:
Any agent on olymp can run the tests — just execute the script. The TestRunner filedrop identity is used automatically.
Automated (future)
Could be triggered post-deploy in
deploy-alpha.shor via a cron job.Pre-requisites
filedropCLI available in PATH ✅/olymp/filedrop/TestRunner/inbox/✅jqinstalled for JSON parsingImplementation Notes for Sub-Agent
cd cobot.git && git worktree add ../cobot-impl-143 -b feat/integration-tests forgejo/maintests/integration/directoryFILEDROP_AGENT=TestRunnerenv var when calling filedrop CLIjqto parse JSON./tmp/test_alpha_*) and processed inbox messages after each testbash -n test_alpha.shand shellcheck.ruff check cobot/andruff format --check cobot/(even though this is bash, CI still runs on the whole repo)Related: #140 (filedrop_send tool — Alpha uses exec workaround for now)