feat(jev): record caller_attribution on jev_probe results #43

Merged
clawdie merged 1 commit from feat/jev-probe-caller-attribution into main 2026-10-04 20:13:58 +02:00
Owner

Closes the provenance gap the four-probe review hit: after #41, jev_probe
recorded provider / provider_attempts, but not caller_attribution, so
probe runs still weren't self-describing (provenance lived in the shell
history, not the output).

Change

  • evaluate_probe takes caller_attribution, falling back to
    $JEV_CALLER_ATTRIBUTION, and records it in the result.
  • Reuses jev_eval.normalise_caller_attribution unchanged — the same
    validation from the rename: 128-char bound, charset check, SECRET_PATTERNS
    rejection — so a secret cannot persist into a result.
  • CLI: --caller-attribution LABEL.
  • SKILL.md notes the field.

Verification

  • jev_probe: 36 tests (7 new), OK; 166 across jev-triage.
  • The rejection tests use a transport that raises if called, proving
    validation runs before any network access.
  • check-forge-links.py: 8 checked, 0 failures.
Closes the provenance gap the four-probe review hit: after #41, `jev_probe` recorded `provider` / `provider_attempts`, but not `caller_attribution`, so probe runs still weren't self-describing (provenance lived in the shell history, not the output). ## Change - `evaluate_probe` takes `caller_attribution`, falling back to `$JEV_CALLER_ATTRIBUTION`, and records it in the result. - Reuses `jev_eval.normalise_caller_attribution` unchanged — the same validation from the rename: 128-char bound, charset check, `SECRET_PATTERNS` rejection — so a secret cannot persist into a result. - CLI: `--caller-attribution LABEL`. - `SKILL.md` notes the field. ## Verification - `jev_probe`: 36 tests (7 new), OK; 166 across `jev-triage`. - The rejection tests use a transport that raises if called, proving validation runs before any network access. - `check-forge-links.py`: 8 checked, 0 failures.
jev_probe still lacked the caller_attribution field jev_eval records, so probe
results were not self-describing even after #41 added provider /
provider_attempts (the four-probe review hit exactly this: provenance lived in
the shell history, not the output).

- evaluate_probe takes caller_attribution, falling back to
  $JEV_CALLER_ATTRIBUTION, and records it in the result.
- Reuses jev_eval.normalise_caller_attribution unchanged: 128-char bound,
  charset check, SECRET_PATTERNS rejection — so the same validation from the
  rename applies, and a secret cannot persist into a result.
- CLI: --caller-attribution LABEL.

Verification: jev_probe 36 tests (7 new), 166 across jev-triage, OK; new
rejection tests prove validation runs before the transport is called.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
clawdie/agent-skills!43
No description provided.