[Forge] Tool registry + call logging tables done

← Forge
F3.1: Populate the skills table (0 rows) with entries for every function in tools.py. Create tool_calls table (skill_id, analysis_id, input_json, output_json, duration_ms, status, created_at). Acceptance: skills table has ~15 rows. tool_calls table exists and is ready for logging.

Completion Notes

Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle
Spec File

[Forge] Tool registry + call logging tables

Goal

Populate the skills table (0 rows) with entries for every function in tools.py. Create tool_calls table (skill_id, analysis_id, input_json, output_json, duration_ms, status, created_at).

Acceptance Criteria

☐ skills table has ~15 rows.
☐ tool_calls table exists and is ready for logging.

Approach

  • Read AGENTS.md and relevant source files
  • Understand existing code patterns before modifying
  • Implement changes following existing conventions (f-string HTML, SQLite, Bedrock Claude)
  • Test: curl affected pages, verify rendering, run scidex status
  • Commit atomically with descriptive message
  • Work Log

    2026-04-01 - Starting implementation

    • Reading tools.py to identify all tool functions
    • Checking current database schema for skills and tool_calls tables
    • Will populate skills table and create tool_calls table

    2026-04-01 - Implementation complete

    • Created populate_tool_registry.py script
    • Created tool_calls table with schema: id, skill_id, analysis_id, input_json, output_json, duration_ms, status, error_message, created_at
    • Populated skills table with 9 tool functions from tools.py:
    - 7 data_retrieval tools: pubmed_search, pubmed_abstract, semantic_scholar_search, get_gene_info, get_disease_info, search_trials, open_targets_associations
    - 2 analysis tools: enrichr_analyze, research_topic
    • All tools categorized by skill_type and linked to code_path
    • Verified with scidex status - system operational
    • Acceptance criteria met: skills table populated, tool_calls table ready for logging

    Sibling Tasks in Quest (Forge) ↗