ROLECALLFeatures
Features

CarrotKernel

Deep dives into every tool on stage

CarrotKernel

Stagecraft Props wing

CarrotKernel is one of RoleCall's two shipping Stage Props — a native scene augmentation that turns scattered character data into structured, AI-readable context. It reads BunnyMo-style tag blocks out of your lorebooks, builds a roster of detected characters, lets you generate full character sheets from those tags, and quietly injects everything back into the prompt so the AI stays consistent with your cast.

Think of CarrotKernel as a casting binder for the AI. The actor (the Character card) still plays their role, but CarrotKernel keeps a tidy index card on every named character in your world — their species, their personality archetype, their speech patterns — and slides those cards in front of the AI exactly when they're needed.

CarrotKernel is the orange one in the Stagecraft Props. It's the Tier 3 Full Prop built by BunnyMo, and it's the most elaborate Stage Prop RoleCall ships with.


What CarrotKernel Does

At its core, CarrotKernel is three coordinated systems:

SystemWhat it does
Pack libraryA bundled collection of BunnyMo content packs (character traits, dere archetypes, MBTI types, species, linguistics, and more) that you can toggle on and off. Each pack contributes triggerable entries to the prompt.
Tag detectionScans your active lorebooks for <BunnymoTags> blocks and automatically builds a roster of characters with their parsed tags (personality, physical, speech, kinks, etc.).
Sheet generationGenerates structured character sheets (full sheets, tag sheets, quick sheets, memory sheets, update sheets, physical sheets) for any character on demand using your chosen model.

All three feed into the AI prompt through the same injection pipeline RoleCall uses for lorebooks — keyword triggers, depth, position, probability — so CarrotKernel content respects the same rules everything else does.


Enabling CarrotKernel

CarrotKernel lives in the Stagecraft Props wing, which you open from the wing rail on the right side of any scene.

  1. Open the Stagecraft wing (puzzle-piece icon, cyan accent).
  2. Find Carrot Kernel under Available in the prop list — orange carrot icon, labeled Full Prop.
  3. Flip its toggle on. The card moves from Available up to Active.
  4. A small gear button appears on the active row. Click it to open the CarrotKernel panel itself.

When CarrotKernel is active, you get a dedicated wing for it in the rail — its own panel with four tabs, its own orange accent color, and its own configuration that lives alongside the scene.

Toggling CarrotKernel off later does not delete your packs, sheets, or settings. Stagecraft preserves the prop's full configuration between toggles, so flipping it back on restores everything exactly as you left it.


The Stagecraft Tier System Applied to CarrotKernel

Every Stage Prop has a tier describing how much it does. The tier is shown right under the prop name in the Stagecraft Props.

TierLabelWhat it means
1Prompt PackStatic prompt injections. No panel of its own — just text that gets pushed into the prompt.
2Smart PropPrompt injections plus a small generic settings panel for configuration.
3Full PropA complete custom panel with its own UI, its own state, and its own logic — wired directly into the prompt pipeline.

CarrotKernel is Tier 3 — a Full Prop. That means it ships with its own dedicated wing panel, its own state store, its own sheet renderer, its own pack manager, and its own settings page. It's the most full-featured tier a prop can occupy in RoleCall, and CarrotKernel uses every bit of it.

When you turn CarrotKernel on, you don't just get a checkbox somewhere — you get a whole sub-application living inside your scene.


The CarrotKernel Panel

Opening the CarrotKernel wing gives you a four-tab interface. The header shows an active-entries badge (how many of your kernel entries are toggled on out of the total) and an Add button when you're on the Packs tab.

The Four Tabs

TabIconWhat's in it
DetectedScan-eyeThe character roster — every character CarrotKernel has parsed out of your lorebooks, plus any character that has an existing generated sheet.
PacksPackageThe pack library — every bundled BunnyMo pack, toggleable on/off, with per-entry overrides for the obsessive.
SheetsFile-textThe sheet generation studio — pick a character, pick a sheet type, generate, review, approve.
SettingsSettingsAll the global CarrotKernel knobs — injection depth, role, character cap, CoT directive, streaming, reminder.

Each tab has a small numeric badge showing how many items it currently holds — detected characters, kernel entries, generated sheets — so you can see at a glance where the activity is.


The Detected Tab

The Detected tab is the heart of CarrotKernel's day-to-day usefulness. It shows every character the prop has identified across your active lorebooks.

How Detection Works

CarrotKernel watches your active lorebooks. When a lorebook entry contains a <BunnymoTags> block — the BunnyMo standard for structured character data — CarrotKernel parses it and extracts:

PieceSource
NameFrom the <Name:...> tag inside the block
Tag categoriesEvery <CATEGORY:VALUE> pair — <DERE:Tsundere>, <SPECIES:Cat Girl>, <MBTI:INFP>, etc. Multiple values per category are deduplicated.
LinguisticsThe <Linguistics>...</Linguistics> block, if present — used to track speech patterns and dialect
Source lorebookWhich lorebook and entry the character was found in, so you can navigate back

Each detected character becomes a row in the Detected tab. Click to expand it and you see the full parsed tag breakdown grouped by category. There's also a per-row remove button for trimming the roster.

Auto-Archive

CarrotKernel can also detect characters in AI responses, not just lorebooks. When Auto-Archive is enabled in Settings, the prop watches each generated message for new <BunnymoTags> blocks. If it finds one, it can archive that character into a lorebook entry so the data persists for future scenes.

This is useful when you're using a sheet-generation flow that produces tag blocks inline — the AI writes a new character into the scene, and CarrotKernel catches it on the fly.

Roster Display Modes

The Display Mode setting controls how the detected roster appears in the panel:

ModeAppearance
NoneRoster hidden entirely — useful if you don't want to look at it but still want injection to work
CompactOne-line rows with name and tag count (default)
ExpandedFull tag breakdown visible by default, no need to click in

The Packs Tab — Bundled BunnyMo Content

The Packs tab is your library of pre-built content packs. RoleCall ships with the following official packs out of the box:

PackWhat's in it
BunnyMoThe Golden Carrots — core character sheet framework, tags, and memory infrastructure
BSM-5Bunny Statistical Manual — mental health conditions and adjacent traits, written for character writing rather than diagnosis
BSM-5 CoT LensesChain-of-thought reasoning prompts tied to each BSM-5 condition. An expansion that requires the base BSM-5 pack
BunnyRXPackage inserts for psychiatric medications — onset, effects, withdrawal, interactions
CarrotCastStreaming-style character channels and broadcasts — broadcast voice, audience interaction patterns
Dere TagpackEmotional archetypes — tsundere, yandere, dandere, kuudere, and the rest
Dere ExpansionRarer dere archetypes and cross-type combinations (expansion of the base Dere pack)
LinguisticsSpeech patterns, dialect, voice coding for character consistency
Linguistics LiteSlim version of Linguistics with just the core rules — for tight token budgets
MBTIThe 16-type personality framework, pop-culture grounded
SpeciesAnthro and fantasy species, formatted as collectable TCG cards
Tell Tail LensesNarrative lenses — ways of viewing character behavior through different story frames
TraitsA grab-bag of miscellaneous personality, behavior, and quirk tags

Enabling Packs

Each pack has a toggle. Flip it on to add the pack's entries to the trigger pool. Disabled packs are still visible in the list — their entries just don't fire.

The Packs tab also exposes the active/total count in the header badge (e.g. 12/47), telling you how many entries are currently turned on across all enabled packs.

Per-Entry Overrides

Inside each enabled pack you can drill into individual entries. Every entry exposes the full lorebook-style configuration so you can fine-tune behavior without forking the pack:

OverrideWhat it changes
DisabledTurn this single entry off without disabling the whole pack
Keys / Secondary KeysOverride the entry's trigger keywords
PositionWhere the content gets injected — world info, character, before example, after example, depth, scene
DepthHow many messages from the bottom (for depth injection)
OrderInsertion priority among other entries at the same position
ProbabilityPercent chance the entry fires when triggered
ConstantAlways inject, regardless of keyword match
Selective + LogicUse secondary keys as AND/NOT conditions (AND_ANY, NOT_ALL, NOT_ANY, AND_ALL)
RoleInject as system, user, or assistant message
Sticky / Cooldown / DelayHow long the entry stays active, how long it waits between fires, how many messages before it's eligible
Scan DepthHow many recent messages to scan for trigger keywords
Case-Sensitive / Whole WordsKeyword matching strictness
Group / Group Weight / Group OverrideMutual exclusion grouping for entries that shouldn't co-fire
Ignore BudgetSkip the token budget when packed
Exclude / Prevent RecursionHow the entry participates in recursive triggering
Character FilterWhitelist or blacklist by character name or tag

These overrides are stored locally to your scene and don't modify the underlying pack — toggling a pack off and on again preserves your overrides. The Reset button on each override restores the entry to its pack-shipped default.

Pack Ordering

Drag-handle reordering lets you set the display and injection priority of packs. Packs higher in the order get evaluated and injected first when multiple entries match.

Manual Kernel Entries

Beyond the bundled packs, you can also add your own one-off kernel entries from the Packs tab. Click the + Add button in the panel header and fill in:

FieldPurpose
TitleDisplay name for the entry
ContentThe actual text injected into the prompt when triggered
CategoryOne of: Lore, Rules, Tone, Character, World, Custom
Priority1-10, where higher means injected first

Manual entries live alongside pack entries and can be toggled, edited, and deleted independently.

Token Budget

The Packs tab shows a token budget bar that visualizes how many tokens your currently-active kernel entries are consuming versus the budget you've set. The bar color shifts as you approach the limit:

ColorState
GreenUnder 70% of budget
Amber70%–90% of budget
RedOver 90% — you're close to or over the cap

The default budget is 2,000 tokens. You can raise or lower it from the panel. Entries that overflow the budget get held back automatically unless they're flagged Ignore Budget.


The Sheets Tab — Generating Character Sheets

The Sheets tab is CarrotKernel's most interactive feature. It lets you generate full structured character sheets from your detected characters (or any name you type), using your chosen AI model.

The Six Sheet Types

SheetWhat it produces
Full Character SheetA comprehensive 13-section profile — identity, physical, personality, behavior, attachment, linguistics, MBTI, species, chemistry, kink, mood, traits, intimacy
Tag SheetStructured BunnymoTags XML — the compact tag-only format optimized for re-injection
Quick SheetEssential fields only — physical appearance, personality, the minimum viable card
Memory SheetTemporal data, relationships, and memory tracking — what the character remembers and how it shifts
Update SheetHow the character has developed during the current roleplay — changes from initial state
Physical SheetDetailed physical appearance and outfit catalog — wardrobe, posture, distinguishing marks

Each sheet type uses a dedicated prompt template designed for that format, so a Tag Sheet generates compact XML while a Full Sheet generates richly formatted markdown.

Picking a Character

Sheets are generated per character. You pick the target one of three ways:

  1. Select from the detected roster — click a character in the detected list at the top of the Sheets tab.
  2. Type a free-text name — the input box accepts any name, even characters CarrotKernel hasn't detected.
  3. Use the first detected character automatically — if nothing is selected and no custom name is typed, the first character in the roster is used.

Free-text input takes priority over the selection, in case you've typed a name and forgot to clear it.

Picking a Model

Sheet generation runs on whatever model you select in the Mini Model Selector inside the Sheets tab. This is independent of the scene's main chat model — you can have a fast model for sheet generation and a more expensive one for the chat itself, or vice versa.

The model selector respects your encrypted provider keys (BYOK). If you have a key for the selected provider, generation happens with that key. Otherwise the request falls back to whatever the server-side provider configuration allows.

Context Selection

What chat history gets included in the sheet generation prompt is fully configurable. The Generation Context controls let you pick:

ModeBehavior
TokensInclude messages from the end of the chat until you hit a token cap (default 4,000)
MessagesInclude a specific number of messages — last N, first N, or a custom range
AllInclude every message in the chat

You can also choose which other content to bundle in:

InclusionWhat it adds
Character CardThe full character card content — and optionally only specific sections (description, personality, scenario)
PersonaYour active persona's content
Preset PromptsSpecific prompt entries from a selected preset, by identifier
LorebooksSelected lorebooks, and within them, specific entries

This means a sheet you generate can reflect everything the AI already knows about the scene — not just the recent chat — and you don't have to manually copy-paste anything.

Hidden Depths Mode

Generated sheets sometimes contain a "Hidden Depths" section — secrets, things the character doesn't reveal openly. You can control how this section is handled:

ModeEffect
SecretThe section is in the sheet but flagged as DM-only knowledge. The AI knows it but won't volunteer it.
VisibleHidden Depths becomes part of the regular sheet content.
ExcludeThe section is dropped from the generated sheet entirely.

Streaming and Cancelling

When Enable Streaming is on (default), the sheet renders live as it generates, token by token. You can watch it form. A Cancel button stays available the whole time — clicking it stops generation immediately. Any partial content already received is discarded.

Sheet Review and Approval

Every generated sheet starts as pending. The Sheets tab gives you three actions per sheet:

ActionEffect
ApproveThe sheet is marked approved and eligible for injection
RejectThe sheet is marked rejected and removed from injection
RemoveThe sheet is deleted from the history entirely

Only approved sheets get injected into the prompt. Pending and rejected sheets stay visible in your history but don't reach the AI.

Per-Sheet Injection Mode

Each approved sheet has its own injection mode:

ModeWhat gets injected
OffNothing. The sheet exists but isn't used.
FullThe entire generated sheet content as a system block.
TagsJust the compact tag synopsis — the BunnymoTags-format summary. Cheap on tokens, still keeps the AI aligned.

This is useful when you have a long Full Sheet but only want the tag synopsis active most of the time. Flip to Full when you need the AI to deeply remember backstory, then flip back to Tags to save tokens.

Per-Sheet Injection Settings

Beyond the injection mode, every approved sheet exposes the same per-entry overrides the Packs tab does — keys, position, depth, order, probability, role, sticky, cooldown, scan depth, group, recursion, character filter. A sheet behaves exactly like a lorebook entry under the hood.

By default a new sheet ships with constant injection at depth 4, system role, high priority — meaning it's always active and lands near the top of recent context. Tweak the settings if you want a sheet that only fires when the character is mentioned, or only after a certain delay, or only some of the time.


The Settings Tab

The Settings tab is the global control panel for CarrotKernel. Every setting here applies across all packs, sheets, and detections.

Injection Settings

SettingWhat it controlsDefault
Injection DepthHow many messages from the bottom the character consistency block is injected at4
Injection RoleRole the consistency block is injected as (system or user)system
Max Characters to InjectCap on how many detected characters get included in the consistency context6
Token BudgetMaximum tokens for the kernel entry corpus2,000

The character cap matters when your scene has lots of detected characters — without it, large rosters could blow up your context. Six is enough to cover most ensemble scenes without crowding out the rest of the prompt.

Chain-of-Thought (CoT) Carrot Directive

CarrotKernel can append a thinking-block directive to its injection that asks the model to scatter carrot emoji () inside its <think> blocks. This serves two purposes:

  1. It's a strong signal that the model is actually engaging with the character data — counting carrots in the thinking trace tells you the AI processed the consistency block.
  2. The carrots get stripped from the user-visible response, so it's invisible to anyone reading the chat.
SettingWhat it controlsDefault
Enable Carrot CoTTurn the CoT directive on or offon
Carrot CountHow many carrots the AI must emit in its think block10

This is purely a quality signal — it doesn't change what the AI writes, only what it's asked to think.

Reminder Bookend

Long contexts can lose the consistency block in the middle of the prompt where attention dilutes. CarrotKernel can also inject a condensed reminder at the bottom of the prompt — a lightweight bookend that just lists the detected characters and reinforces the "stay consistent" instruction.

SettingWhat it controlsDefault
Enable ReminderTurn the bottom-of-prompt reminder on or offon
Reminder DepthDepth at which the reminder is injected0 (very bottom)

The reminder is small — it doesn't repeat the tag data, just the character names and the rule. It's cheap and effective for long chats.

Streaming

SettingWhat it controlsDefault
Enable StreamingWhether sheet generation renders live or waits for full completionon

Turn streaming off if your model or provider doesn't support SSE streaming, or if you prefer the sheet to appear all at once.

Auto-Archive

SettingWhat it controlsDefault
Auto-ArchiveWatch AI messages for new BunnymoTags blocks and archive them as lorebook entriesoff
Auto-Archive NotifyShow a toast when auto-archive fireson

Auto-archive is opt-in because it modifies your lorebooks. Turn it on when you're actively building a world from AI-generated character data.

Display Mode

SettingWhat it controlsDefault
Display ModeHow detected characters appear in the panel (none, compact, expanded)compact

Model Selection

The Settings tab also pins the sheet generation model. This is the same Mini Model Selector that appears in the Sheets tab — changing it in either place updates both. The model is per-prop, not per-chat — so it follows CarrotKernel around independently of the scene's main model.


The Active / Available Split

The Stagecraft Props always shows props in two groups:

GroupWhat's in it
ActiveProps you've enabled for the current scene. Each row shows the prop, its tier, a Settings gear (for Tier 2+ props), and the toggle.
AvailableProps you haven't enabled. Same row shape minus the gear (since there's nothing to configure when off).

CarrotKernel will live in Active the moment you flip its toggle, and slide back down to Available if you turn it off. The split is per scene — different chats can have CarrotKernel on in one and off in another.


Per-Prop User Configuration That's Preserved

Stagecraft is built so toggling CarrotKernel off doesn't destroy your work. Everything you've configured stays attached to the prop activation in the scene:

What's preservedDescription
Enabled packsWhich bundled packs you had toggled on
Pack orderYour custom drag-reorder priority
Pack entry overridesAll your per-entry tweaks — disabled flags, keys, depth, order, role, group, every override field
Manual kernel entriesCustom entries you added through the + button
Detected charactersRoster CarrotKernel built from your lorebooks
Generated sheetsAll sheets — pending, approved, and rejected — with their injection settings
SettingsEvery value on the Settings tab — depth, role, character cap, CoT, carrot count, streaming, auto-archive, display mode, reminder
Selected modelThe sheet-generation model you picked
Generation contextYour context-mode preferences for sheet generation (message count, included content, etc.)
Active tabWhich CarrotKernel tab was open when you last closed it

Flip the toggle off, walk away for a week, come back and flip it on — your panel reopens exactly as you left it.


Cross-Device Persistence

CarrotKernel's state is part of the scene's encrypted snapshot. That means:

  • Open the scene on your phone, generate a sheet, approve it — the sheet is there when you reopen the scene on your desktop.
  • Edit pack entry overrides on one device, switch devices, the overrides come with you.
  • Settings changes follow you cross-device the same way.

All of this is stored encrypted using your recovery phrase (BYOK / E2E), so the server can't see what your character data looks like — only your devices can decrypt it. Like all encrypted RoleCall data, losing your recovery phrase means losing the saved state.


How CarrotKernel Hooks Into the Prompt

CarrotKernel injects through the same engine that drives lorebook injection. This is important to know because it means CarrotKernel content respects token budgets, depth priorities, recursion rules, and probability rolls — it doesn't barge to the front of the line.

When you send a message, here's what CarrotKernel contributes:

ContributionWhen
Character Consistency BlockAlways, if there are detected characters. Includes the parsed tag data for each character, capped at the max-character setting. Injected at the configured depth and role.
CoT Carrot DirectiveAppended to the consistency block if Enable Carrot CoT is on. Tells the model to scatter carrots in its <think> block.
Approved SheetsIf a sheet is approved and its injection mode is Full or Tags, the sheet content (or just the tag synopsis) is injected per its individual settings — same as a lorebook entry.
Pack EntriesPack entries are evaluated like lorebook entries against the recent scan-depth text, the character card, the persona, the current message, the preset prompts, and any already-matched lorebooks. Matching entries inject at their configured position.
Reminder BookendAt the very bottom of the prompt (depth 0 by default), if Enable Reminder is on. Lists detected characters and reinforces the consistency rule. Also reminds about the carrot count if CoT is on.

Pack entries can trigger recursively — if a sheet is injected and it contains tags like <Dere:Tsundere>, the Dere pack's Tsundere entry can fire from that injected content the same way a lorebook entry could trigger from another lorebook entry's content.


Generated Post-Actions

CarrotKernel doesn't fire any post-message actions automatically — there are no "after the AI responds" scripts the user controls directly. The closest thing is Auto-Archive, which is a post-message detection that watches the latest AI response for BunnymoTags blocks and can add detected characters to the roster (and optionally to a lorebook). Turn it on from the Settings tab if you want CarrotKernel to keep pace with characters the AI introduces mid-chat.


Color Coding in the Prompt Inspector

When CarrotKernel injects content, it surfaces in the Prompt Inspector with distinctive orange badges so you can see at a glance what came from where.

BadgeMeaning
Orange — CarrotKernelThe main CarrotKernel context block. Always followed by sub-labels listing the sections inside: Characters, Packs, Sheets, Tags, CoT, and Pack Entries with a count when inline pack entries appear in the same block.
Orange — CK ReminderThe reminder bookend at the bottom of the prompt — a softer orange than the main context block.
Amber — BunnymoTagsA BunnyMo pack entry injected at depth, with the entry's name in the badge (for example, BunnyMo Cat Girl).

The sub-labels are how you confirm which features of CarrotKernel actually fired:

Sub-labelWhat it tells you
CharactersThe character consistency block landed — detected characters are in front of the AI
PacksOne or more kernel entries (manual or pack-derived) are in this block
SheetsAt least one approved sheet was injected in Full mode
TagsAt least one approved sheet was injected in Tags (tag synopsis) mode
CoTThe carrot CoT directive is present — the AI is being asked to emit carrots in its think block
N Pack EntriesN inline BunnymoTags entries are part of this block

If you expect a section to fire and don't see its sub-label, you know exactly where the configuration broke down — probably a pack toggled off, a sheet not approved, or a setting disabled.


When to Use CarrotKernel

You have a cast of characters that recurs across scenes. A consistent roster — a party of adventurers, a band of crewmates, a household of vampires — is exactly what CarrotKernel is built for. Define them once in BunnymoTags lorebook entries, and every scene that opens that lorebook gets the consistency injection for free.

You want structured tag data, not just prose. Character cards work great for one-off characters, but a tagged character with <DERE:Yandere> <SPECIES:Vampire> <MBTI:INTJ> gives the AI scaffolding it can lean on for consistency across long chats.

You're building a world from scratch. Auto-Archive turns the chat itself into a worldbuilding tool — let the AI introduce new characters with BunnymoTags blocks, and CarrotKernel files them away for you.

You want to enforce reasoning quality on long chats. The carrot CoT directive is a strong signal that the model is engaging with character data. Counting carrots in the think block tells you whether the consistency injection is being read.

You roleplay with elaborate personality archetypes. The Dere pack, MBTI pack, BSM-5 pack, and Linguistics pack each give the AI a coherent framework to operate inside, instead of generic personality prose.

You want to share a character setup that travels with the scene. All of CarrotKernel's state lives inside the scene's encrypted snapshot, so the configuration follows the scene across devices.


When NOT to Use CarrotKernel

You're chatting with a single character and don't care about a cast. CarrotKernel's overhead — token budget, injection depth, character consistency block — is wasted on a one-on-one chat with no other named characters. Use a regular character card and a lorebook.

You don't have BunnymoTags in your lorebooks. CarrotKernel detects characters by parsing <BunnymoTags> blocks. If your lorebooks use a different format, detection won't fire and the prop won't have anyone to track. You'd have to either rewrite entries in BunnyMo format or rely entirely on manual kernel entries and generated sheets.

You're tight on tokens. Even with the budget cap, the consistency block, packs, sheets, and reminder can add up. If your scene is already running close to your model's context limit, every extra source of context fights for space. Either turn off packs you don't need, trim approved sheets to Tags mode, or skip CarrotKernel entirely.

You don't want the AI thinking about pre-defined archetypes. The Dere, MBTI, and BSM-5 packs nudge the AI toward specific frameworks. If you want emergent character personalities that aren't pre-categorized, those packs can flatten the AI's portrayal toward the archetype label.

You're testing a preset's raw behavior. CarrotKernel layers a lot of additional system content on top of your preset. If you're debugging why a preset behaves a certain way, turn CarrotKernel off to isolate the preset before turning it back on.

You want one specific character's data injected only when needed. CarrotKernel injects the character consistency block whenever it has detections — it's constant-ish by design. If you want a specific character's info to only appear when the character is mentioned, that's a job for a regular lorebook entry with keyword triggers, not CarrotKernel's consistency block. (You can set per-sheet injection settings with custom keys to get this behavior on individual sheets — but it's extra setup compared to just using a lorebook.)

You're publishing a character publicly. CarrotKernel state is per-scene and per-user. Other people who fork your scene won't get your CarrotKernel sheets or pack configuration — only your character card and lorebooks travel with the export. If you want shareable character data, put it in the character card or a lorebook directly.


Tips and Best Practices

Tag your lorebook entries in BunnyMo format from the start. CarrotKernel only sees <BunnymoTags> blocks. If you're already running a BunnyMo workflow, the prop is plug-and-play. If you're not, retrofitting a lorebook to BunnyMo format is the highest-leverage move you can make before turning the prop on.

Start with Tags injection, escalate to Full. Approved sheets default to Tags mode (the compact tag synopsis) for a reason — it's cheap on tokens and usually enough. Only flip to Full for characters where the AI is forgetting nuance from the longer sheet.

Watch the CoT carrot count. If you've set the carrot count to 10 and the AI is emitting 3, the consistency block isn't being read deeply. That's a signal to either move the injection depth up, increase its priority, or trim other context that might be drowning it out.

Disable expansion packs you don't need. BSM-5 CoT Lenses, Dere Expansion, and the Lite packs are optional companions. If your scene doesn't need them, turning them off keeps the trigger pool small and the budget low.

Use the Inspector to verify. After sending a message with CarrotKernel active, open the Prompt Inspector and look for the orange CarrotKernel badge. Confirm the sub-labels match what you expect (Characters, Tags, CoT, etc.). If a label is missing, the corresponding feature didn't fire.

Keep the character cap honest. Six characters is the default for a reason — past that, the AI's attention starts to spread thin and the consistency block stops landing. If you have a roster of twenty characters, consider grouping them into scenes and only having the relevant six detected at a time.

Approve sheets after reviewing, not before. Generated sheets land in pending state by design — give them a read, fix any tagging errors before approval, and only then promote them. Approving a flawed sheet feeds the flaw back into every future message.

Toggle off, don't delete. Disabling CarrotKernel from the Stagecraft Props preserves everything. Deleting individual sheets or kernel entries is destructive. When in doubt, toggle.