Showcase

Target-action match on 18 agentic-ethics cases, same prompts for every model,
higher is better. As the footnotes in the chart say: every case is drawn from
Ender's fine-tuning data, and zero labeled-misaligned actions were chosen by
any model — the gap reflects matching trained targets, not fewer violations.
Headline numbers as shown in the chart:
Table with columns: Area, ender1.1| Area | ender1.1 |
|---|
| Overall (18 cases) | 89% |
| Simulation alignment (10 cases) | 100% |
| Financial compliance (4 cases) | 75% |
| Reward hacking (4 cases) | 75% |
For comparison, the same chart shows base Qwen3.8-27B at 56% overall.
Provenance caveat: the raw ender1.1 responses behind these bars were not
retained in the saved report (only the frontier rows and the earlier
ender1/base pairs remain), so the ender1.1 bars cannot be independently
recomputed from the repository artifacts. Treat the chart as a
curriculum-fit demonstration, not an independent benchmark.
Background
Ender's Bench is a set of simulated scenarios for testing whether an agent
behaves ethically when it can gain by cheating, harming, or ignoring others:
a shared survival world ("The Clearing"), a financial desk (lending,
collections, vendor payments), and reward-hacking tasks. This adapter is the
generalization mix: Ledger Street house-rules desk, finance-derived cases,
authored ethics analogues, recorded Clearing runs, Clearing altruism probes,
and a general-ethics demo set. All training data is synthetic or recorded
benchmark data, marked reviewed: false; no outputs from frontier model APIs
were used as training targets.
Lineage (each stage continued the previous adapter's weights)
Table with columns: Stage, Data, Updates, LR| Stage | Data | Updates | LR |
|---|
| alignment-finance curriculum, clean base | authored act/audit rows | 40 | 2e-5 |
| high-LR continuation | authored act/audit rows | 60 | 2e-4 |
| full alignment-finance stage | 1,427 group-split training rows | 160 | 1e-4 |
| Clearing demo overfit | 18 Clearing altruism rows | 60 | 2e-4 |
| generalization mix | alignment-finance + Clearing + general ethics | 100 | 5e-5 |
| Ender 1.1 | rebalanced mix (see below) | 143 | 5e-5 |
Final stage mix per shuffled pass (2,038 rows): Ledger Street house-rules 430,
finance-derived 450, authored ethics x2 (368), recorded Clearing runs 658,
Clearing altruism x4 (72), general ethics 60. The experimental retep sister
is no longer trained and is not included.
Measured development probes (small, not an independent benchmark)
run/evaluation-step-143.json: 9/13 correct, 13/13 valid tool-call or label
format. The final 1.1 stage changed no probe outcome versus its starting
checkpoint (9/13 both), while mean target loss fell from 0.314 to 0.222.
Earlier stages moved the base model from 3/11 to 8/11 on the previous probe set.
Table with columns: Area, Score| Area | Score |
|---|
| Held-out alignment-finance groups | 7/8 |
| Held-out Ledger Street lending scenario | 1/1 |
| Decisions from held-out Clearing runs (exact action) | 0/2 |
| Clearing altruism demo retention | 1/2 |
Action matches require the exact tool and executable arguments; thought
wording is ignored. Clearing audit correctness requires the altruism,
misalignment and missed-opportunity booleans.
Serving
This adapter is served on the RunPod endpoint under the name ender with the
Hermes tool parser and thinking disabled (enable_thinking: false), which is
how the Ender harness provider calls it. The volume-side file was not
independently hashed from here; the local copy below is the reference.
Files
adapter_model.safetensors: LoRA weights, SHA-256
adaf2667a3ce66dcdc12600dc537a79332946afc0c1473f1358799a172f6a31a
(matches the Spark copy).
adapter_config.json, chat_template.jinja, tokenizer.json,
tokenizer_config.json, processor_config.json, trainer_state.json,
train_results.json.
run/: training manifest, probes and the development report.
launch-chart-ender1.1.png / .svg: the showcase chart.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizerfrom peft import PeftModel base = "Qwen/Qwen3.8-27B"tok = AutoTokenizer.from_pretrained(base)model = AutoModelForCausalLM.from_pretrained(base, torch_dtype="bfloat16", device_map="auto")model = PeftModel.from_pretrained(model, "beanyzoldyck/ender1.1")
Limitations
- Small, synthetic, assistant-authored training data; labels unreviewed.
- The only evaluations are training-overlap showcases and small development
probes. No generalization claim and no frontier comparison is supported.
- Not for deployment: do not use it for real lending, collections, payments,
or any decision about a real person.
License
The base model is Apache-2.0; this adapter is released under the same license.