Skip to content

Commit 40dc95f

Browse files
committed
fix(skills): align math.run payload envelope
1 parent 7b145ad commit 40dc95f

3 files changed

Lines changed: 10 additions & 3 deletions

File tree

.agents/skills/jacobian-math/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Keep decomposition and routing decisions agent-owned; composing already-known
2222
supporting operations remains allowed when clearer.
2323
Do not call Jacobian for definitions, formatting, or non-execution tasks.
2424
25-
No discovery for stable producers: `{"capability_id":"<id>","input":<JSON>}`.
25+
No discovery for stable producers: `{"capability_id":"<id>","payload":<JSON>}`.
2626
Payloads:
2727
2828
- `integer.compute.gcd`, `integer.compute.lcm`, or `integer.compute.extended_gcd`:

npm/skills/jacobian-math/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Keep decomposition and routing decisions agent-owned; composing already-known
2222
supporting operations remains allowed when clearer.
2323
Do not call Jacobian for definitions, formatting, or non-execution tasks.
2424
25-
No discovery for stable producers: `{"capability_id":"<id>","input":<JSON>}`.
25+
No discovery for stable producers: `{"capability_id":"<id>","payload":<JSON>}`.
2626
Payloads:
2727
2828
- `integer.compute.gcd`, `integer.compute.lcm`, or `integer.compute.extended_gcd`:

tests/unit/tooling/test_codex_visibility.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import json
44
import math
55
import re
6+
from inspect import Parameter, signature
67
from pathlib import Path
78

89
import pytest
@@ -20,6 +21,7 @@
2021
from benchmarks.tooling.command_runner import ToolCommandResult, ToolCommandStatus
2122
from pydantic import ValidationError
2223

24+
from jacobian.adapters.mcp.tools import capability_invoke
2325
from jacobian.contracts.combinatorics import CyclicDifferenceSetExtensionRequest
2426
from jacobian.contracts.matrix_operations import MatrixDeterminantRequest
2527
from jacobian.contracts.number_theory import IntegerPairRequest
@@ -179,7 +181,12 @@ def test_codex_skill_keeps_bounded_stable_direct_run_contracts() -> None:
179181
assert polynomial in skill
180182
extension_payload = '{"base_elements":["1","2","4","8","13"],"target_order":7}'
181183
assert extension_payload in skill
182-
assert '"input":<JSON>' in skill
184+
run_parameters = signature(capability_invoke).parameters
185+
assert tuple(run_parameters) == ("capability_id", "payload", "ctx")
186+
assert run_parameters["ctx"].kind is Parameter.KEYWORD_ONLY
187+
direct_envelope = f'{{"capability_id":"<id>","{tuple(run_parameters)[1]}":<JSON>}}'
188+
assert direct_envelope in skill
189+
assert '{"capability_id":"<id>","input":<JSON>}' not in skill
183190
assert "No discovery for stable producers" in skill
184191
assert "never with `capability_id`" in skill
185192
assert '"candidate":<producer output.result>' in skill

0 commit comments

Comments
 (0)