Skip to content

lint: an asset substituted into a call's argument is used, and is not in a prompt - #18

Merged
inhuman merged 1 commit into
mainfrom
lint-asset-in-call-arguments
Aug 20, 2026
Merged

lint: an asset substituted into a call's argument is used, and is not in a prompt#18
inhuman merged 1 commit into
mainfrom
lint-asset-in-call-arguments

Conversation

@inhuman

@inhuman inhuman commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Two rules were wrong about the same reference form, in opposite directions.

A call passes an asset either by reference, {from: "asset:x"}, or as text substituted into an argument, code: "{{asset:x}}". Only the first was collected.

  • W20 called live payloads dead — nineteen of them in one live catalogue, not one of them real. A rule wrong that often is worse than a missing one: it teaches people to skim past the whole report.
  • Counting the second form as ordinary in-text use would have traded that for the opposite error: W4 warns that code substituted into text goes through the model's context. That is true of an instruction and false of a call — a call is executed by the host, and its arguments never enter a prompt.

So the two are tracked separately now: everything counts as used, only instruction text counts as seen by the model.

Measured on a live catalogue of 35 skills: findings 25 → 9, with no new W4 appearing. The remainder are real (size warnings).

The fixture added here is clean, which is its job — it stands guard over the silence.

… in a prompt

Two rules were wrong about the same reference form, in opposite directions.

A call passes an asset either by reference, `{from: "asset:x"}`, or as text
substituted into an argument, `code: "{{asset:x}}"`. Only the first was
collected. So W20 called live payloads dead — nineteen of them in one live
catalogue, not one real — and a rule wrong that often is worse than a missing
one: it teaches people to skim past the whole report.

Counting the second form as ordinary in-text use would have traded that for the
opposite error: W4 warns that code substituted into text goes through the
model's context, which is true of an instruction and false of a call. A call is
executed by the host and its arguments never enter a prompt. So the two are now
tracked separately: everything counts as "used", only instruction text counts
as "seen by the model".

The fixture for this is CLEAN, which is its job — it stands guard over silence.
@inhuman
inhuman merged commit ed5f50c into main Aug 20, 2026
1 check passed
@inhuman
inhuman deleted the lint-asset-in-call-arguments branch August 20, 2026 07:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant