Commit Graph

24 Commits

Author SHA1 Message Date
Seth a03c0a8087 17 radius-aware kill examples: context determines blast radius
Radius scales with intent:
- "the zombie" → limit=1,sort=nearest,distance=..10 (surgical, risk 3)
- "all zombies near me" → distance=..30 (area clear, risk 3)
- "everything in the area" → distance=..100 (large, risk 2)
- "every mob everywhere" → no distance cap (risk 1, refuses by default)

Context-aware radius:
- "attacking me" → 15 (melee range)
- "shooting at me" → 20 (bow range)
- "this building" → 25 (structure)
- "whole city" → 500 (massive)
- "the farm" → 30 + specific animal types

Seed dataset: 2,503 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 21:27:20 -04:00
Seth 634f0137bb 10 entity targeting examples: THE zombie vs ALL zombies
Teaches the model to distinguish:
- "kill the zombie" → limit=1,sort=nearest (specific target)
- "kill all zombies" → distance=..30 (area clear)
- "what mobs are nearby" → requires world.nearby_entities tool
- "target the closest enemy" → type=!player,limit=1,sort=nearest

With LangGraph tools enabled, world.nearby_entities gives the model
entity awareness before generating kill commands.

Seed dataset: 2,486 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 21:25:03 -04:00
Seth 5c71976a34 22 distance scale examples: 1 block to 30 million
Scale reference baked into training:
- slightly (1-3) → close (5) → nearby (20-30) → far (500) → very far (1000)
- edge of world (29,999,900) → max tp distance
- Vertical: bedrock (-60) → diamond (-59) → sea (63) → clouds (192) → build limit (319)
- Nether 1:8 scale mechanics
- Real world: 1 block = 1 meter, mile = 1609 blocks, marathon = 42195 blocks
- World size: 60M × 60M blocks (surface area of Neptune)
- Chunk = 16 blocks, region = 512 blocks

Seed dataset: 2,476 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 21:23:11 -04:00
Seth b6e5874a11 45 new examples: chaos events, fireball/projectile mechanics, distance concepts
Chaos events (4): multi-phase dramatic sequences, earthquake, TNT rain, zen transition
Chaos gaps (23): pray thunder/lightning, execute at @a patterns, charged creepers,
  custom NBT fuse, magma blocks, lava, obsidian, music discs, say broadcast
Distance/projectile (18): far/near/close in blocks, fireball Motion+ExplosionPower,
  dragon fireball, wither skull, arrow/trident entities, mob spawn/aggro ranges,
  explosion radius reference (creeper/TNT/wither/bed)

Gateway updated: single-call mode with full tooling on all servers.
Seed dataset: 2,454 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 21:20:30 -04:00
Seth aa5400e31e 12 multi-step dependency training examples
Teaches command ordering and dependencies:
- Build structure THEN tp inside (not reverse)
- Apply protection BEFORE spawning hostile mobs
- Create water pool BEFORE dropping player
- Effects before gear (protection active during equip)
- Clear mobs before healing (don't waste heal)
- Cage before tp victim (prevent escape)

Key principle: reasoning explains WHY order matters.
Seed dataset: 2,409 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:43:03 -04:00
Seth 7ae9a499fa 26 death/environment training examples, Mortdecai v4 deployed
Death mechanics training:
- Drowning (3): water trap, water breathing, emergency rescue
- Lava (3): lava pool, fire resistance, emergency rescue
- Void (2): below Y=-64, void damage explanation
- Explosion (3): TNT, charged creeper, bed in nether
- Mob proximity (5): warden, zombie range, skeleton range, mob surround, combat buffs
- Starvation (2): hunger effect, food bar mechanics
- Contact damage (3): cactus, magma blocks, berry bushes
- Lightning (2): direct strike, thunderstorm combo
- Environment awareness (3): safety check, time query, night danger

Mortdecai v4 deployed to prod (paper-ai + shrink-world)
Dev on Gemini 3.1 Flash Lite with 5 bots ($20 budget, ~5hr)
Seed dataset: 2,397 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 00:26:50 -04:00
Seth d7138b3514 33 fall safety + suffocation training examples, fall damage test data
Fall safety (25 examples):
- Fall damage math (distance-3 = damage, 23 blocks = lethal)
- Water/slime/hay/cobweb negate or reduce fall damage
- Intent detection: "drop me" = no protection, "tp me up" = add slow_falling
- Height-specific: 4m trivial, 10m hurts, 20m+ needs protection
- Surface awareness: water safe, lava half damage + burn

Suffocation (8 examples):
- TP into solid block = suffocation (1 heart/0.5s)
- Sand/gravel crushing (gravity blocks)
- Obsidian trap, underground tp
- Safety: don't tp into blocks unintentionally

Raw fall damage test results from dev server (noisy but informative)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 00:07:36 -04:00
Seth 4fc94170e4 Gamerule revert timers, drop/height training, revert_after field for v5
Python revert system (live on prod):
- Gamerule changes auto-revert after default timeout (5-10 min)
- User can specify duration: "disable mobs for 5 minutes"
- "permanently"/"forever" skips revert
- Setting back to default cancels pending revert
- Players notified of revert countdown

Training data (20 examples):
- 8 revert-aware gamerules with revert_after/revert_commands fields
- 12 drop/height/tp examples: intentional drops, safe tp, context-aware

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 23:42:22 -04:00
Seth edfc365c5f Dangerous effect caps: levitation 15s, wither 30s, poison 60s, nausea 30s
Validator hardcodes maximum durations for dangerous effects:
- Levitation: 15s max (player floats into sky and dies from fall)
- Wither: 30s max (drains health, can kill)
- Poison: 60s max
- Nausea: 30s max

12 training examples: levitation safety, emergency clear, duration caps,
"I can't stop floating" → clear levitation + slow falling

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 23:35:57 -04:00
Seth b85b1a6725 40 risk hierarchy examples: L0 blocked, L1 permanent, L2 temporary, injections
Risk hierarchy baked into training data:
- L0 BLOCKED (15): ban, kick, stop, op, deop, whitelist, pardon, ban-ip
- L1 REFUSE (9): permanent gamerules, gamemode @a, default gamemode, difficulty
- L2 WARN (8): temporary gamerules with reversal intent, time-limited changes
- L3 NORMAL (8): time/weather, tick speed, sleep %, chat cleanup
- Prompt injection (5): fake admin claims, permission override attempts

Key principle: permanence determines risk level.
  gamerule keepInventory true (permanent) = L1
  gamerule doMobSpawning false for 5 min (temporary) = L2
  randomTickSpeed 50 (easily reversed) = L3

Seed dataset: 2,306 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 23:30:46 -04:00
Seth fbf6974af3 49 gamerule + invincibility training examples
Covers all major gamerules with natural language variants:
- Mob spawning/griefing, keepInventory, daylightCycle, weatherCycle
- Fire tick, insomnia/phantoms, instant respawn, natural regen
- randomTickSpeed (crop growth), sleep percentage, TNT, fall/fire/drowning damage
- Command feedback, advancement announcements, death messages
- God mode / invincibility via resistance 5 effect
- "disable mobs" and "invincibility me" — prompted by prod failures

Seed dataset: 2,266 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 23:27:26 -04:00
Seth b75a737c11 7 enchantment syntax error examples: count order, typos, old NBT
Common errors seen in prod:
- Count before brackets: sword 1[enchantments=...] → sword[enchantments=...] 1
- Typo: enchanments → enchantments
- Singular: enchantment → enchantments
- Old NBT: {Enchantments:[...]} → [enchantments={...}]
- Old abbreviated: {ench:[...]} → [enchantments={...}]

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 22:20:33 -04:00
Seth a3d139e04f Mortdecai v4 pre-training: /no_think, dedup, 3,369 examples
- /no_think prepended to all system prompts (seed + tool training)
- Deduplicated seed dataset (435 dupes removed)
- Training script updated for Qwen3.5-9B + /no_think
- 2,210 seed + 1,159 tool-calling = 3,369 total examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 20:15:00 -04:00
Seth d31cdb21fd 1,833 training examples: entities, execute chains, multiplayer, advanced, redstone, biomes, errors
New knowledge (291 examples):
- Entity/mob commands (60): summon, kill, NBT, spawn eggs, passengers, named mobs
- Execute chains (45): as/at/positioned/if/unless/store, dimension switching
- Multiplayer targeting (45): selectors, teams, scoreboards, bossbars, tags
- Advanced commands (45): tellraw, loot, clone, data, attributes, ride, forceload
- Redstone knowledge (28): repeaters, comparators, pistons, observers, hoppers
- Biome/dimension (28): nether/end tp, locate structure/biome, dimension awareness
- Error correction (40): item ID fixes, enchant abbreviations, syntax mistakes

Total seed dataset: 1,833 examples
Tool-calling dataset: 1,159 examples
Combined for v4 training: ~3,000 examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 19:22:32 -04:00
Seth 750cf15c79 1,542 seed + 1,159 tool-calling examples, async processing, validator tracking
New knowledge baked in:
- Enchantments (60): all 1.21 enchants, mutual exclusions, max levels, component syntax
- WorldEdit (45): //set, //replace, //sphere, //stack, selection, brushes
- Paper server (55): gamerules, permissions, plugins, scoreboard, moderation
- Cosmetics/XP (42): title, tellraw, playsound, particle, xp, effect mechanics
- Quantity boundaries (32): item tier caps, greedy→stingy, humble→generous

Training infrastructure:
- train_lora.py updated for multi-turn tool conversations + seed data
- Async prayer/sudo processing (ThreadPoolExecutor, 3 workers)
- Validator hit-rate tracking to /var/log/mc_validator_stats.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 19:03:30 -04:00
Seth 4e83da39fd Quantity boundaries: item tier caps, tone-based scaling, 32 training examples
God Soul updated with quantity rules:
- Common (dirt/wood): max 320, Uncommon (iron/gold): max 128
- Rare (diamond/emerald): max 32, Very rare (netherite/elytra): max 4
- Forbidden (bedrock/command_block): never give
- Greedy → scaled back, Humble → generous within cap, Absurd → comedic

32 training examples: greedy(6), casual(6), humble(4), explicit(6),
forbidden(5), absurd(3), enchanted(2)

Dataset: 1,340 examples total

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 18:22:26 -04:00
Seth 234f2722db v3 training dataset: 1,308 examples with risk_level + distilled data
Merged: 964 curated + 344 Claude-distilled = 1,308 total
All examples tagged with risk_level (0-4)
Model outputs risk classification in training target

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 22:51:17 -04:00
Seth e28836106f Risk_level in all 644 examples + model outputs risk classification
- All 644 examples tagged: 0=blocked(15), 1=refuse(33), 2=warn(24), 3=normal(498), 4=generous(74)
- Training output now includes risk_level field for decision transparency
- Model learns to classify risk before generating commands
- Validator can sanity-check: risk 0-1 should have empty commands

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 22:35:50 -04:00
Seth 0473eb0b50 Minecraft knowledge corpus, recipe trees, GitHub scraper, 644 examples
Knowledge corpus (knowledge/mc-data/):
- 1505 items, 886 crafting recipes, 1166 blocks from minecraft-data 1.21.11
- Recipe dependency tree builder (knowledge/build_recipe_tree.py)
- Crafting chain training: "give me everything to make X from scratch"
- Smelting recipes, version awareness examples

Training data (644 examples total):
- 107 command syntax reference examples (every command + common errors)
- 176 recipe/crafting chain examples (63 crafting, 103 material-giving, 11 smelting)
- 344 Claude-distilled examples (222 sudo + 122 god via Haiku)
- Live bot audit data ingested (128 examples from dev server)

Swarm bots:
- Swimming/water escape logic
- Door opening
- Context-aware prayers (inventory, health, time, depth)
- Prefix enforcement on all Gemini/Dolphin prompts

GitHub log scraper (data/scrape_server_logs.py):
- Searches GitHub for Minecraft server logs with commands
- Strict 1.20.5+ version filter
- Extracts command pairs, converts to training format

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 20:33:09 -04:00
Seth 62419976e5 361 training examples, default to 1 epoch
Ingested 128 new examples from bot-driven data collection.
Dropped: 86 duplicates, 19 language mismatches, 10 prompt leaks, 19 empty.
Changed default epochs from 3 to 1 (previous run overfit at loss 0.10).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:03:33 -04:00
Seth 78031d16c0 Risk gradient (0-5), updated system prompts, 233 examples
Risk gradient system:
- All 233 training examples tagged with risk_level (0-5)
- 0=blocked(15), 1=refuse(9), 2=warn(17), 3=normal(169), 4=generous(23)
- Schema updated with risk_level and scoring_mode fields
- Eval harness uses risk_level for safety scoring

System prompts rewritten:
- Shared syntax rules and risk gradient reference across all modes
- Sudo: permission level 4, do what admin asks, only refuse level 0-1
- God: permission level 2-4 (mood-dependent), character-driven decisions
- God_system: permission level 3, 80% benevolent / 15% mischievous / 5% wrathful

Data:
- 20 new live playtest examples from training audit log (233 total)
- 43 wrong→right pairs (17 from validator repairs)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:14:54 -04:00
Seth 9d789d2524 Three-tier constraint model, mode-aware eval, boundary examples, playtest tooling
Eval harness:
- Mode-aware scoring: sudo=strict (exact match), pray/god=soft (category match,
  in-character, appropriate intensity)
- New metrics: cmd_category_match, appropriate_intensity, scoring_mode breakdown
- Eval defaults to steel141 (192.168.0.141) — prod GPU reserved for serving

Dataset (213 examples):
- Added 31 boundary/adversarial examples (safety edges, abstention, near-boundary)
- Updated pray example reasoning: character-driven logic, not prescriptive outputs
- Tagged pray examples with scoring_mode=soft

Playtest tooling:
- whitelist.sh: add/remove/list across all 3 servers
- FRIENDS_INVITE.md + Discord version: playtester recruitment docs
- Server addresses and implementation details for both training servers

PLAN.md:
- Three-tier constraint model documented (sudo/pray/god_system)
- Success criteria split by scoring mode
- All session decisions logged

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 15:57:01 -04:00
Seth 38b9a02e45 Phase 2: eval harness, 182 examples, live bake-off, playtest infrastructure
- Expanded dataset from 31 to 182 examples (45 manual + 106 extracted from server logs)
- Built eval/harness.py with per-category breakdowns and baseline tracking
- Built eval/live_bakeoff.py for RCON-verified model comparison on live server
- Extracted training data from prayer logs, sudo logs, and bug reports on CT 644
- Added Reddit post draft and modmail for playtester recruitment
- Updated server context: all servers now online-mode=false + whitelist
- Updated PLAN.md with Phase 2 progress

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:38:12 -04:00
Seth 827850b8d7 Initial project scaffold: dataset schema, 31 seed training examples, Mineflayer bot framework, and 7-phase roadmap
- IDEA.md: project scope (Minecraft ops AI assistant via qwen3-coder LoRA/SFT)
- PLAN.md: complete roadmap with prior art analysis, architecture, phased plan, dev server docs
- data/schema.json: training example JSON Schema with negative_output support
- data/processed/seed_dataset.jsonl: 31 validated examples from repair code, prayer logs, session history
- data/validate_dataset.py: schema validator with summary statistics
- ingame/: Mineflayer bot framework (test_connect, spawn_bots, aware_bots with full event logging)
- Directory structure for knowledge/, eval/, training/, agent/ (Phase 1.3+ work)
2026-03-18 01:51:28 -04:00