Skip to main content
Glama
iftahs
by iftahs

pipeline_run

pipeline_run

Convert raw lights into a calibrated master light. Automates calibration, registration, integration, and optional drizzle using PixInsight's WBPP or native engine.

Instructions

One call from raw lights to a master light. engine 'wbpp' (default): PixInsight's WeightedBatchPreprocessing in a separate instance with exactly the matched calibration groups, then the master is opened in the daemon and WBPP intermediates are deleted. engine 'native': plan → masters (cached) → calibrate → cosmetic (CFA) → debayer → measure → select (SSWEIGHT) → register (+drizzle data) → local normalization → integrate [→ drizzle]. Frames dropped with exclude_frames (after blink_frames) are honoured. Working files go to /working-files. Runs in the background; poll pipeline_status. Resumable with resume_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoProceed despite blocking plan issues (e.g. no flats when requireFlats)
engineNoDefault: config stackingEngine (wbpp)
drizzleNo
min_starsNo
rejectionNo
resume_idNo
max_framesNoOnly the first N lights (quick end-to-end smoke test)
fwhm_factorNoReject FWHM > factor×median (default 1.25)
master_biasNo
master_darkNo
master_flatNo
wbpp_paramsNoWBPP automation parameters, e.g. {autocrop:true, localNormalization:false}
drizzle_scaleNo
exclude_filesNo
skip_cosmeticNo
debayer_methodNo
light_group_idNoFrom scan_frames (required unless resume_id)
max_eccentricityNo
allow_dark_scalingNo
keep_intermediatesNoKeep calibrated/cosmetic/debayered/weighted/registered files (default: config keepIntermediates=false: deleted as soon as the next stage succeeds)
rejection_warn_pctNo
skip_local_normalizationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

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

The description discloses behaviors that annotations do not convey: WBPP intermediates are deleted, working files go to <target dir>/working-files, execution is asynchronous, and the run is resumable. It also clarifies that frames dropped via exclude_frames are honored. No contradiction with the annotations.

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 purpose is front-loaded in the first sentence, and every subsequent sentence adds a distinct fact: engine behavior, native pipeline stages, excluded frames, working files, background execution, and resumability. It is dense but justified by the tool's complexity.

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 description covers the core workflow, engine differences, deletion behavior, background execution, and resumability. However, with 22 parameters and no output schema, it omits the return value or pipeline identifier needed for polling, and it does not state prerequisites like light_group_id or the need for a prior scan_frames/plan.

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?

Schema description coverage is only 32%, so the description needed to compensate for the many undocumented parameters. It adds meaning for engine and resume_id, and hints at working-file behavior, but most parameters (force, min_stars, rejection, drizzle_scale, skip_cosmetic, etc.) remain unexplained in both schema and description.

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?

Opens with a specific purpose: 'One call from raw lights to a master light.' It then differentiates the two engine modes ('wbpp' vs 'native') and describes the full pipeline stages, which clearly separates it from sibling step-by-step tools like calibrate_lights or wbpp_run.

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?

Provides clear usage context: this is the end-to-end pipeline tool, supports two engine choices, runs in the background, requires polling pipeline_status, and can be resumed with resume_id. It does not explicitly state when not to use it versus the individual step tools, so it stops short of full alternative guidance.

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