June 16, 2026

Sweeping docstring cleanup hits batch 21/47

A long-running docstring refactor continued with batches 9 through 21 of a planned 47, trimming docstrings across abilities, API routes, capabilities, services,

A long-running docstring refactor continued with batches 9 through 21 of a planned 47, trimming docstrings across abilities, API routes, capabilities, services, channels, configs, and runtime modules (TKT-995 through TKT-1015). The consistent rule across every batch: keep only non-obvious behaviour, exceptions, and side-effects; remove restated signatures, paraphrased code, and obvious parameter descriptions. By this point the effort had already swept the abilities framework, the abilities internals, the API routes layer, the channel configs, the capabilities framework, the UniFi REST client, the mail/Ubiquiti capabilities, the MCP server entry point, and a large swath of the services tree — covering modules like decay, deliberation, document chunking, embedding, episodic retrieval, file mapper, folder watcher, geo utils, image candidate/context, LLM clients, memory, MCP, message processor, metrics, news, OCR, OG image, ONNX, personality, policy, post-turn hooks, processor config, provider catalog, rich media, runtime deps, salience, scheduler, schema convergence, search expander, and token services.

Several commits document partial progress: a database_service cleanup landed ahead of its batch (TKT-1009 partial), and the TKT-1010 batch split across two commits because the first pass left seven files needing a deeper follow-up. A separate “stragglers” commit (1ac2fd0) cleaned voice.py, websocket.py, wrappers.py, and caldav_handler.py for the batch 8 follow-through. The 21st batch alone spanned provider_catalog through search_expander services.

On the interface side, two merge commits (PRs #1856 and #1857) fixed document attachments so they ride the /chat endpoint like images do — a backend fix followed by its Vue counterpart (TKT-990). Two accessibility commits then added aria-labels to the hidden image and document elements to satisfy SonarCloud’s Web:InputWithoutLabelCheck.

  • 21 batches of docstring cleanup completed (TKT-995 → TKT-1015), covering abilities, API routes, capabilities, channels, configs, and a wide range of service modules

  • Sweeping methodology: retain only non-obvious behaviour, exceptions, and side-effects; drop restated signatures and obvious parameter descriptions

  • Document attachments now ride /chat like images (TKT-990), with the backend fix in PR #1856 and the Vue fix in PR #1857

  • Aria-labels added to hidden image and document file inputs to resolve SonarCloud Web:InputWithoutLabelCheck

  • Batch 16 split across two commits because the first pass left seven files needing a deeper follow-up cleanup