Skip to main content
Glama

pm.earned_schedule

Read-onlyIdempotent

Calculates Earned Schedule indicators (ES, SPI(t), TSPI(t), IEAC(t)) from a cumulative planned value timeline, earned value, actual time, and planned duration.

Instructions

획득일정(Earned Schedule) 지표를 계산한다. ES는 획득가치(EV)에 해당하는 계획 시점으로 pv_timeline을 선형 보간해 역산하고, SPI(t)=ES/AT, TSPI(t)=(PD-ES)/(PD-AT), IEAC(t)=PD/SPI(t). pv_timeline은 [{time, cumulative_pv}] 시간 오름차순에 누적 PV 비감소이며 모든 수는 Decimal 문자열, 시간 단위를 통일한다. AT와 PD는 양수여야 하고 PD와 AT가 같으면 TSPI는 0을 돌려준다. 반올림하지 않는다.

Input Schema

NameRequiredDescriptionDefault
actual_timeYes
pv_timelineYes
earned_valueYes
planned_durationYes

Output Schema

NameRequiredDescriptionDefault
esYes
_metaNo서버가 붙이는 영수증(integrity), 엔진, 힌트
spi_tYes
traceYes계산 근거(tool, formula, inputs, steps, output)
ieac_tYes
tspi_tYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safe-read, idempotent profile, and the description adds real value on top: the PD==AT edge case returns TSPI 0, AT/PD must be positive, and no rounding is applied. These are behavioral traits the agent could not infer from the annotations or schema.

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?

Front-loaded with purpose, then formulas, then data-contract constraints in a logical order. Dense but every sentence carries specification content; the formula block is justified for a calculation tool.

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

Completeness4/5

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

Output schema exists so return values need no explanation, and the description fully specifies input formatting, ordering, positivity, and the degenerate-case behavior. Complete enough for an agent to call it correctly on the first try.

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?

With 0% schema description coverage the description must carry the load, and it does: pv_timeline is defined as {time, cumulative_pv} entries in ascending time with non-decreasing cumulative PV, all values are Decimal strings with unified time units, and AT/PD must be positive. earned_value is only implied via the EV reference rather than named directly, which is a minor gap.

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 names a specific metric family (Earned Schedule) and spells out the exact outputs (ES, SPI(t), TSPI(t), IEAC(t)) with formulas. It is clearly distinct from pm.evm and pm.critical_path by metric, though it never names a sibling to differentiate explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer you call this when you need ES-based schedule performance indicators. There is no explicit when-to-use vs pm.evm, no stated prerequisites, and no exclusions.

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

Deploy Server

Other Tools