Add analysis profiles with distance/proximity-aware axes
A discrete verdict collapses magnitude and a generic axis can hide what you're calibrating (a blowjob where the head is 20cm away still reads sexual_act=oral -> MATCH). New 'profile' input selects an act-specialized axis set (general / oral / penetration / handjob / solo) whose act-critical axes capture distance explicitly (mouth_genital_distance: touching/<5cm/10-20cm/>20cm, oral_depth, insertion_depth, stroke_position, ...). axes now overrides the profile when set. agent_bridge gains --profile; workflows + docs updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+7
-2
@@ -48,7 +48,7 @@ def _http_json(url: str, payload: dict | None = None, timeout: int = 30):
|
||||
|
||||
|
||||
def _inject(graph: dict, prompt: str, negative: str, seed: int, run_tag: str, mode: str,
|
||||
reference_description: str = ""):
|
||||
reference_description: str = "", profile: str = ""):
|
||||
"""Set the receptor's prompt/seed and the judge's mode/run_tag in-place.
|
||||
|
||||
compare mode needs a receptor (to inject the prompt). describe mode is the first
|
||||
@@ -69,6 +69,8 @@ def _inject(graph: dict, prompt: str, negative: str, seed: int, run_tag: str, mo
|
||||
inputs["prompt_used"] = prompt
|
||||
if reference_description:
|
||||
inputs["reference_description"] = reference_description
|
||||
if profile:
|
||||
inputs["profile"] = profile
|
||||
if mode == "compare" and not found_receptor:
|
||||
raise SystemExit(
|
||||
f"[agent_bridge] no '{RECEPTOR_CLASS}' node in the workflow — add the "
|
||||
@@ -115,6 +117,8 @@ def main(argv=None):
|
||||
ap.add_argument("--negative", default="")
|
||||
ap.add_argument("--seed", type=int, default=0)
|
||||
ap.add_argument("--run-tag", default="")
|
||||
ap.add_argument("--profile", default="",
|
||||
help="analysis profile on the judge (general/oral/penetration/handjob/solo)")
|
||||
ap.add_argument("--ref-desc", default="",
|
||||
help="canonical reference text to anchor compare on (from the describe pass)")
|
||||
ap.add_argument("--ref-desc-file", default="",
|
||||
@@ -138,7 +142,8 @@ def main(argv=None):
|
||||
with open(args.workflow, "r", encoding="utf-8") as f:
|
||||
graph = json.load(f)
|
||||
|
||||
_inject(graph, args.prompt, args.negative, args.seed, args.run_tag, args.mode, ref_desc)
|
||||
_inject(graph, args.prompt, args.negative, args.seed, args.run_tag, args.mode, ref_desc,
|
||||
args.profile)
|
||||
|
||||
client_id = uuid.uuid4().hex
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user