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

Open
opened 2026-04-03 21:30:42 -07:00 by pyr0ball · 0 comments
Owner

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.

## 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.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/buddymon#2
No description provided.