Files
hermes-agent/evals/delegation_group_schema
teknium1 956732d4a8 chore(evals,desktop): drop literal /tmp from eval harnesses and desktop scripts
Eval probes wrote fixtures, receipts and evidence to hard-coded /tmp paths and
two live A/B tasks literally instructed the model to work in /tmp. They now
derive locations from tempfile.gettempdir() / os.tmpdir() (env overrides kept),
usage examples use relative output names, and the desktop e2e screenshot dirs,
perf scripts and the short-session repro fixture stop naming /tmp. Also adds
the explicit encoding= the windows-footgun check wants in the touched files.
2026-09-19 10:44:26 -07:00
..
…
…

Delegation grouping schema receipts

probe.py TREE OUTPUT [--independent] assembles real eager CLI tool definitions in a fresh, credential-free temporary home with networking forbidden. Run it in separate interpreters against base and fix with the same arguments. Requires tiktoken (o200k_base); counts use compact OpenAI function JSON. This measures schema footprint, not model quality or billed savings.

Base: b2aa855b626ff8688eb34b95c60ee8b6a4af3679.

Policy Base delegate tokens Fixed delegate tokens Change
Default off 927 826 -101
Explicit on 927 913 -14

Only delegate_task changed in either same-config comparison. Total eager CLI schemas were 7586 → 7485 (off), 7586 → 7572 (on). The field remains available when enabled; its parameter schema is unchanged. Repeated assembly is byte-stable. The two invariants also check static/previous schema immutability, legacy task normalization, and grouped/ungrouped delivery partitioning. The default-off exposure assertion failed on base before implementation.

Real-model N=1 child smoke

Pinned to configured Nous google/gemini-3.7-flash; no provider fallback. A separate temporary home held only copied Nous authentication and minimal explicit configuration (no personal skills/memory). One forced parent tool call using the real default-off registry schema produced a one-task array without group. The actual delegation handler then built and ran one real AIAgent child, which completed in one API call with GROUP_GATE_OK. Parent tool bytes were unchanged across child execution. This is a schema-acceptance/execution smoke, not a comparative quality evaluation or proof of asynchronous delivery timing.

Before inference, the live catalog was read and an approximately $0.016 budget estimated for two calls (20k input + 1024 output allowance).

Inference Input Output Reasoning (included in output) API-reported usage.cost
Parent schema call 796 104 75 $0.000987
Child 708 42 37 $0.0006885
Total 1504 146 112 $0.0016755

Parent request ID: gen-1788889571-fBLF8eStu3UAevfGtvgD. The raw provider usage exposes the same values as upstream_inference_cost; these are API-reported costs, not an independently reconciled Portal invoice. The child result's local estimator instead reported $0.000551 with cost_status: estimated; do not substitute that estimate for the raw receipt. Local full receipt: /tmp/delegation-group-live-receipt.json.