Skip to content

## codio + indexio MCP friction points discovered during labpy session Several

codio + indexio MCP friction points discovered during labpy session

Several pain points encountered while managing the sirocampus shared codelib during a multi-day labpy development session.

1. codio_add_urls(clone=True) doesn't actually clone

codio_add_urls(urls=["https://github.com/circstat/pycircstat2"], clone=True) returned success but: - No clone appeared on disk - path field in catalog.yml was left empty - repos.yml entry was created but missing local_path and default_branch

Had to manually: git clone → edit repos.yml to add local_path/default_branch → edit catalog.yml to add path → re-sync.

Expected: clone=True should clone to the configured codelib directory, populate local_path in repos.yml, and set path in catalog.yml automatically.

2. indexio_sources_sync doesn't pick up new libs without path field

After codio_add_urls, the source sync skipped pycircstat2 because catalog.yml had no path. The sync should either: - Warn that a managed library has no local path - Or derive the path from repos.yml local_path if catalog path is empty

3. schedule_queue(timeout=) doesn't propagate to execution

Scheduled tasks with timeout=3600 and timeout=5400 but they ran with the default 1800s and timed out. This happened twice: - 751c15df33d7 — parity batch, specified timeout=3600, killed at 1800s - 7fa1c8e2b02d — buzcode audit batch, specified timeout=5400, killed at 1800s

Only enqueue_task(timeout=5400) worked correctly. The timeout parameter in schedule_queue appears to be ignored.

4. No incremental build command for single source

indexio_build(sources=["codio-src-pycircstat2"]) — the sources parameter accepts a list but there's a type validation issue when passing from MCP (string vs list). The update=True flag works as a workaround but rebuilds all changed sources, not just the one you want.

5. codio_add_urls doesn't set capabilities or priority

New libraries are added with empty capabilities: [] and default priority: tier2. For a well-known library like pycircstat2 (circular statistics), the GitHub topics and description contain enough info to auto-populate capabilities like ["circular-statistics", "directional-statistics"].

Summary of manual workarounds needed

For adding one library with indexing: 1. codio_add_urls (catalog + repos, but no clone) 2. Manual git clone to codelib directory 3. Manual edit of repos.yml (add local_path, default_branch) 4. Manual edit of catalog.yml (add path) 5. indexio_sources_sync (now picks it up) 6. indexio_build(update=True)

Should be: codio_add_urls(clone=True)indexio_build(update=True). Two steps, not six.


Source context: labpy

Labpy (labpy): sirota lab main python package; initiated as a translation of labbox Matlab code into python

Recent commits:

aa05bf1 Update labbox↔labpy correspondence map after parity batches
6029157 Docs homepage: replace admonition boxes with sphinx-design grid cards for Diataxis quadrants
b222d6a batch task 1/2: Audit: buzcode + HippoCookBook value extraction for labpy (pixecog-driven)