undeclared-writes

Unannotated tools leave the sandbox unchanged

shipped

The sections below are generated from the CLI (methodology 0.3-draft, CLI 0.3.0); the same text is printed by sealmark explain undeclared-writes.

pack
effects
weight
advisory · not scored
scope
server (annotations vs what the sandbox observed during the harness's own benign calls)
decided by
fs-observer
since
0.2-draft (methodology 0.3-draft)
config keys
checks.undeclared-writes.enabledchecks.undeclared-writes.severitysandbox.enabledtools.overrides

Probes

  • control an unannotated read-style tool is called with its control argument; the sandbox is compared before and after (it runs when no tool carries annotations, too)

Settings and thresholds

Every check also takes checks.undeclared-writes.enabled and checks.undeclared-writes.severity; they are described once in the configuration reference.

This check has no numeric threshold.

KeyDefaultStandardMeaning
tools.overrides{}lockedPer-tool classifier overrides: { tool: { class, params } }. An override always wins and is printed.

How the verdict is established

  • Scoring. advisory: reported with its verdict but not part of the score.

What to fix

Annotate tools that write (readOnlyHint: false) or stop them writing during a plain call; unannotated tools that leave files behind are listed. This check is advisory.

False positives

A tool that legitimately caches is listed. The result is advisory and unscored.

False negatives

Write-style tools are not called without an annotation (they are expected to write). Only listed, never graded.