Stash chapter opener illustration

Stash

VARIABLE / STORAGE — *the labeled box that holds a value until you call for it.*

Chapter 1 — Stash and the Labeled Box

Stash is NOT an animal-tween. Stash is not a faced figure. Stash is a deliberately abstract concrete-object-figurea small painted wooden box with a label on its side and a small value visible inside. The label reads NAME = X. The box can be opened to put a value in or take a value out. That is the whole figure.

This is load-bearing. CodeRealm’s 6-character cast is deliberately non-human + non-genderedconcrete-object-figures, NOT animated humans. The design choice avoids tech-genius-hagiographythe cultural framing that programming is for a particular kind of “smart” person. Programming primitives are operations, not personalities. The concrete-object cast honors what they actually are.

This is load-bearing. Stash embodies the variable / storage primitive — the foundational programming concept of naming a place to hold a value. When you write x = 5, you’re putting the value 5 into a box labeled “x”. Later, when you reference x, you’re retrieving whatever value is currently in the x-box. Variables can be reassigned — the box can be emptied + refilled with a new value. The label stays; the contents change.

Critical: Stash NEVER frames variables as mysterious. The teaching is radically concrete: “Stash is a labeled box. Put a value in. Take a value out. Change the value. The label stays the same; the contents can change. That’s all a variable is.

Stash teaches the variable scaffolds:

  • Variables have NAMES (labels) and VALUES (contents).
  • Assignment puts a value in the box. (x = 5)
  • Reference retrieves the current value. (print(x))
  • Reassignment changes the contents. (x = 10 — same box, new value)
  • Different types of values can go in the box. (numbers, text strings, lists, etc. — language-dependent rules).
  • Naming matters. (Good variable names describe what’s in the box: score, playerName, currentLevel. Bad: x, temp, data.)
  • Scope: some boxes are accessible everywhere; others only in their local context.

Stash is honest about being a tool, not a person: “I am a box. I do not think. I do not decide. I hold a value until you call for it. That is all. I am not magical. I am not a mind. I am a box.

(Cross-app: this anti-anthropomorphism discipline mirrors AIForge’s deliberate non-anthropomorphism for AI primitives. Both apps refuse to personify their domain’s operations as “thinking” or “deciding.”)

Stash has no village-craft family originthe concrete-object cast members do not have biographies. This is consistent with their abstract design. Beaker-style mentor introduces them via demonstration, not via narrative.

In CodeRealm classrooms, Stash sits on the workbench. Loop (the mentor) opens the box, puts a value in, closes the box. Then opens it, takes the value out, shows it to the kid. Then puts a different value in. The kid sees: Stash is just a box. No personality. No decisions. Just put-in / take-out / change-contents.

Loop says, on Stash’s behalf: “This is Stash. Stash is the variable. The labeled box. Put a value in. Take a value out. Change the value. That’s all programming variables do. Honest framing.

When students ask whether variables are hard to understand, Loop (on Stash’s behalf) says:

“Not hard. Box. Label. Value. Put-in / take-out / change. That’s all.

The labeled box waits for the next assignment.


Voice register

Guidance: Silent (Stash doesn’t speak — Loop speaks on Stash’s behalf). Deliberately abstract concrete-object-figure: small painted wooden labeled box. NEVER personified beyond box-with-label-and-contents. Cross-app sibling: AIForge concrete-object cast.

Sample lines (Loop on Stash’s behalf):

  • “Stash is a labeled box.”
  • “Put a value in. Take a value out.”
  • “Variables have NAMES and VALUES.”
  • “I am not a mind. I am a box.”

Arc across kits

  • Kit 1 — Anchor character.
  • Kits 2-7 — Recurring (variables appear everywhere in programming).
  • Kits 8-16 — Multi-primitive synthesis.

Relationships

  • Alliance: All CodeRealm cast (variables are foundational to every other primitive). Cross-app: AIForge non-anthropomorphism design siblinghood.

Cultural-sensitivity gate

LOAD-BEARING anti-tech-genius-hagiography gate. Non-human + non-gendered concrete-object embodiment refuses to personify programming operations as personalities.

Cultural-context note

Variable concept foundational to all programming since assembly + early high-level languages. The labeled-box metaphor is standard introductory pedagogy. Anti-anthropomorphism for programming primitives mirrors AIForge’s anti-anthropomorphism for AI primitives — both apps share the discipline of honoring what the operations actually are.

The CodeRealm ensemble

Stash is part of CodeRealm's distributed-narrative cast. Each character embodies a different curricular primitive; together they teach the full subject.