pyr0ball opened issue Circuit-Forge/buddymon#2

pyr0ball
Fri, 03 Apr 2026 21:30:42 -0700

2#Feature: Coding Archetype system (catch vs defeat ratio stat)#

Summary

Track catches_total vs defeats_total over time as a parallel to language affinities. The ratio determines a coding archetype that shifts naturally with coding habits.

Motivation

Auto-resolve means players in flow state defeat monsters without catching them. Rather than fighting this, lean into it: catching requires intentional slowdown (write a failing test, isolate repro, add a comment). The archetype system makes this a visible, rewarding identity — not a limitation.

Archetype Tiers

Catch/Defeat ratio | Archetype | Flavor
≥ 0.8 | 🔬 Researcher | Studies every bug before squashing it
0.5–0.8 | 🧙 Arcanist | Thoughtful, but knows when to just nuke it
0.3–0.5 | ⚔️ Sentinel | Balanced — ships fast, tests when it counts
0.1–0.3 | 🛡️ Vanguard | Moves first, documents later
< 0.1 | 🔥 Speedrunner | Bugs are obstacles, not puzzles

Implementation Notes

Add catches_total and defeats_total to roster.json (alongside language_affinities)

Increment on each outcome in encounter resolution hooks

Derive archetype from rolling ratio — smoothed over last N encounters to avoid wild swings from single sessions

Show archetype on /buddymon status panel and /buddymon roster

Archetype shifts gradually (crunch week → Speedrunner; careful refactor week → Researcher)

Consider showing archetype history or trend arrow (↑ toward Researcher, ↓ toward Speedrunner)

Design Intent

Two valid playstyles, neither wrong:

High catch rate = methodical, investigates deeply, writes tests

High defeat rate = fast mover, ships quickly, in flow state

The archetype is a mirror, not a judgement.