Commit History
-
fix(tools): align analyze_descriptive required args + normalize Timestamp in aggregate
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>4bb7623 -
[KM-624] Compute Functions: fix non-JSON-safe scalars in mode & top_value
Two latent bugs in the same class as the Decimal crash: numpy/pandas scalars leaked into tool output and would break JSON serialization (SSE / persistence). - analyze_descriptive: `mode` of an integer column returned numpy.int64 (not JSON-serializable); a datetime column returned a pandas.Timestamp. Added a _clean pass (int64 -> int, Timestamp -> ISO string). - analyze_profile: `top_value` of a datetime column returned a pandas.Timestamp that failed json.dumps. Hardened _clean to coerce Timestamp -> ISO string. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>6981ed3
-
[KM-625] Prompt-style Tool Descriptions
Add a DESCRIPTION constant to each of the 8 analytics compute tools, written prompt-style (Summary / USE WHEN / DON'T USE WHEN -> other tool / example questions) for the Planner to decide which tool to pick. English body with Indonesian trigger-word equivalents in parentheses. comparison also documents the group_a baseline / comparison-direction rule. Final destination is ToolSpec.description once the wrapper layer is built. No behavior change; 72 tests, ruff, and mypy strict all green.db217d6 -
[KM-624] Implement Compute Functions Tools
78c598c