Tool Registry Overview
Stan provides 19 deterministic tools organized into three categories for exploring Stats 315A coursework. All tools follow the Project Phoenix tool specification and are fully tested.
8
Homework Tools
Per-homework info and scripts
5
Cross-Homework
Compare and search across homeworks
4
Utility
Metadata and capabilities
Homework Tools
Load information and list scripts for each of the four homework assignments.
| Tool Name | Description | Parameters |
|---|---|---|
load_hmk1_info |
Get Homework 1 (KNN Classification) information and available scripts | None |
list_hmk1_scripts |
List available scripts for KNN homework | None |
load_hmk2_info |
Get Homework 2 (Zipcode Analysis) information and available scripts | None |
list_hmk2_scripts |
List available scripts for zipcode analysis homework | None |
load_hmk3_info |
Get Homework 3 (Discriminant Analysis) information and available scripts | None |
list_hmk3_scripts |
List available scripts for discriminant analysis homework | None |
load_hmk4_info |
Get Homework 4 (Naive Bayes) information and available scripts | None |
list_hmk4_scripts |
List available scripts for Naive Bayes and data piling homework | None |
Cross-Homework Tools
Search, compare, and explore across all homework assignments.
| Tool Name | Description | Parameters |
|---|---|---|
compare_homeworks |
Compare two homework assignments side-by-side | hmk1: int, hmk2: int |
find_by_technique |
Find homeworks that use a specific technique | technique: str |
find_by_chapter |
Find homeworks covering a specific ESLII chapter | chapter: int |
list_all_scripts |
List all available Python scripts across all homeworks | None |
suggest_technique |
Get technique recommendations for a given problem type | problem: str |
Utility Tools
Access domain capabilities and metadata.
| Tool Name | Description | Parameters |
|---|---|---|
show_capabilities |
List all available tools with descriptions | None |
get_homework_info |
Get metadata for any homework by number | homework: int |
get_chapter_references |
Get all ESLII chapter references with homework mappings | None |
get_script_info |
Get detailed information about a specific script | script_name: str |
Usage Example
from unified_agent import StanDataClient, ToolRegistry, ExecutionContext
# Initialize
client = StanDataClient()
context = ExecutionContext()
tools = ToolRegistry(client, context)
# Direct tool invocation
result = tools.get_tool('load_hmk1_info')({})
print(result)
# {"status": "success", "homework": 1, "name": "KNN Classification", ...}
# Compare homeworks
comparison = tools.get_tool('compare_homeworks')({
'hmk1': 1,
'hmk2': 4
})
# Find by technique
knn_homeworks = tools.get_tool('find_by_technique')({
'technique': 'KNN'
})
Tool Rules
The following rules govern tool behavior in the Stan domain:
- Use
load_hmk{N}_infoto get homework metadata before exploring scripts - ESLII chapter references should be returned as chapter numbers (e.g., "Chapter 2, 7")
- Script paths should be returned with their subdirectory context when applicable
- When listing scripts, include the homework number for context
- Homework numbers are 1-4 corresponding to the four Stats 315A assignments
- If a homework path doesn't exist, return an empty script list without error