Skip to main content
Glama
S-CurveLabs

io.github.S-CurveLabs/longpath

Official
by S-CurveLabs

logic_check

Read-onlyIdempotent

Detect CPM logic problems in construction schedules: loops, open or dangling starts/finishes, leads, excessive lags, and duplicate links. Get counts with examples for each check.

Instructions

Logic-quality sweep: loops, open starts/finishes, dangling starts/finishes, leads, excessive lags (> max_lag_days), SF links, SS/FF-only activities, hard and soft constraints, long durations, out-of-sequence progress, dates on the wrong side of the data date, zero-duration tasks, duplicate and redundant links, summary-task and external links. Returns every check's count with a few examples; pass check= for that check's full list.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
checkNo
limitNo
projectNo
max_lag_daysNo
long_duration_daysNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already mark the tool read-only/idempotent. The description adds real behavioral context: it returns counts plus a few examples for every check, and passing check=<name> returns that check's full list. This goes beyond the annotations and tells the agent what to expect from the call.

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

Conciseness4/5

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

The description front-loads the purpose, packs all check types into a concise list, and then adds one sentence on output selection. It is long but dense; each listed check contributes to the agent's understanding of scope.

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

Completeness3/5

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

The output shape is described (counts with examples, full list on request) and annotations cover safety, so the agent can predict the general result. But with no output schema and key parameters like path and limit unexplained, the description is not fully complete for a tool with six parameters and one required input.

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

Parameters2/5

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

With 0% schema coverage, the description must carry parameter meaning. It explains check (check=<name> selects a full list) and max_lag_days (excessive lags threshold), and 'long durations' loosely maps to long_duration_days. However, the required path parameter is completely unexplained, and project and limit also lack meaningful semantics.

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

Purpose4/5

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

The description clearly identifies the tool as a logic-quality sweep and enumerates specific checks (loops, leads, dangling starts/finishes, excessive lags, etc.), so an agent knows exactly what it audits. It doesn't use an explicit 'checks for' verb or name a sibling, but the checklist distinguishes it from computation tools like run_cpm or critical_path.

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

Usage Guidelines2/5

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

No guidance is given about when to choose logic_check over adjacent tools such as schedule_summary, driving_path, or compare_schedules. The checklist implies an audit use case, but there are no explicit conditions, exclusions, or 'use instead' signals.

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