Agentic framework (runtime) with desk/worker/workforce primitives
Blackgeorge provides 12 tools with basic schemas and descriptions, but falls short of production quality. Tool names follow verb_noun convention (list_files, read_file, write_file, search_docs, remember, recall, channel_send, channel_broadcast, channel_receive, blackboard_write, blackboard_read, ask_user). Descriptions exist but are terse (10-60 chars), below the 50-200 char LLM-optimized baseline. Parameter descriptions are minimal or absent. Schemas are present but lack depth, no enums for constrained inputs (e.g., broadcast_mode accepts string but no enum), no output schemas documented, no pagination support for list_files. Error handling is absent; no recovery guidance or actionable error messages. Security concerns: ask_user accepts user_input as a parameter (unusual design), write_file requires confirmation but no dry-run pattern. Composition is reasonable (single responsibility per tool), but tools lack chaining metadata (e.g., read_file doesn't return file paths for downstream use).
Ask user a question and get their input
Read a value from the shared blackboard
Write a key-value pair to the shared blackboard
Broadcast a message to all recipients via channel
Receive messages from channel for a recipient
Send a message to a specific recipient via channel
List all files in the project directory
Descriptions are too terse (10-60 chars vs. 50-200 char baseline). LLMs cannot determine when/why to select tools. E.g., 'List all files in the project directory' lacks context on when to call vs. search_docs.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., list_files returns list[str] but no documentation of format (relative paths? absolute? with extensions?).
ask_user parameter design is unusual: 'user_input' is both a parameter AND the expected return value. This violates single-responsibility and confuses the LLM about whether to provide input or receive it. Should be a tool that prompts and returns user response, not accepts user_input as input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Read file content and store in vector memory
Search and retrieve stored memories using vector similarity
Store a key-value pair in vector memory
Search project documentation using vector similarity
Write content to a file with confirmation required
No error handling or recovery guidance. Tools lack actionable error messages. E.g., write_file requires confirmation but no documentation of what happens if user denies, or how LLM should retry.
Constrained inputs lack enums. E.g., channel_receive accepts broadcast_mode as string but no enum constraint. LLMs may hallucinate invalid values like 'broadcast' or 'streaming' instead of 'one_shot' or 'continuous'.