Skip to main content
Glama

twining_housekeeping

Run periodic maintenance on Twining stores to archive old entries, remove duplicates, surface stale decisions, prune orphaned entities, and rotate old metrics. Preview by default; execute changes with the execute flag.

Instructions

Run periodic maintenance on Twining stores. Preview by default (dry run). Archives old entries, removes duplicates, surfaces stale decisions and dangling warnings, prunes orphaned graph entities, and rotates old metrics. Pass staleness_review: true to also flag entries whose scope/files/branch are gone. Pass execute: true to apply changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
executeNoSet to true to apply changes. Default is false (preview only).
promote_provisionalsNoSet to true to auto-promote stale provisional decisions to active. Default is false (report only).
staleness_reviewNoSet to true to scan blackboard entries and decisions for staleness — flags items whose scope path, affected files, or originating branch no longer exist. Returns candidates only; use twining_archive_stale to act on them.
merge_sweepNoSet to true to detect branches deleted since the last housekeeping run (typically post-merge cleanup) and flag entries provenance-stamped with those branches. First call records the initial branch snapshot and returns no candidates. The branch snapshot is advanced only when execute=true; preview passes leave the baseline untouched so deletions stay visible across multiple previews. Returns candidates only; use twining_archive_stale to act on them. When run alongside staleness_review, branch-gone duplicates are removed from staleness_review (merge_sweep is the more specific signal).
stale_daysNoFlag provisional decisions older than this many days (default: 7)
metrics_retention_daysNoRemove metrics older than this many days (default: 30)
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, but the description fully discloses behavior: it performs a dry run by default, explains the effect of each flag (staleness_review flags stale entries, merge_sweep detects deleted branches, etc.), and details conditions like branch snapshot advancement only on execute=true. This is comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loading the purpose and default behavior. Every sentence adds essential information without redundancy. The structure is clear and efficiently conveys complex behavior in a few lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 6 optional parameters and no output schema, the description covers all necessary contexts: preview vs execute, staleness detection, merge sweep behavior, and retentions. It references sibling tools for follow-up actions, making it complete for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing baseline 3. The description adds value beyond the schema by explaining the interaction between flags (e.g., merge_sweep duplicates removed from staleness_review) and referencing sibling tools for follow-up actions. This extra context improves understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: running periodic maintenance on Twining stores. It lists specific actions (archives, removes duplicates, surfaces stale decisions, prunes graph entities, rotates metrics) and distinguishes from sibling tools like twining_archive_stale which handle individual actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (periodic maintenance), that it defaults to a dry run, and how to apply changes with execute=true. It provides guidance on staleness_review and merge_sweep, referencing twining_archive_stale as an alternative for acting on candidates. While not exhaustive about when-not-to-use, it is clear enough for typical usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/daveangulo/twining-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server