Personas that remember
Persistent personas, hallway tests, and budget-planned research.
Persistent personas
A persistent persona is a named synthetic person who remembers previous conversations. Interview "Sarah" today, come back next quarter, and she recalls what she told you — same identity, consistent history.
curl -X POST "$BASE/api/v1/personas/persistent" -H "x-api-key: $MAVERA_API_KEY" \
-H "content-type: application/json" -d '{
"personaKey": "sarah-weeknight-cooks",
"audienceId": "aud_...",
"topic": "how she decides what is for dinner",
"openingQuestion": "Walk me through last Tuesday night."
}'Later interviews use the same personaKey (no audienceId needed): the stored profile comes back with a memory digest of past sessions injected as continuity — she'll reference earlier answers naturally and stay consistent with them.
GET /api/v1/personas/persistent— your roster: every persona, interview count, memory digest- Memories are code-side summaries (capped at 12, oldest dropped) — no model invents her history
- Identity stability: the same key always draws the same person
Hallway test — the 30-second gut check
One question past n=12 for a handful of credits. Directional only — the output says so, counts positive/negative/mixed leanings in code, and includes the one-click upgrade to a full n=50 study.
curl -X POST "$BASE/api/v1/tools/hallway_test" -H "x-api-key: $MAVERA_API_KEY" \
-H "content-type: application/json" -d '{
"input": {
"audienceId": "aud_...",
"question": "Would you look twice at a collar that promises GPS with no subscription?",
"stimulus": "Waggle Collar: $79, no monthly fee"
}
}'Research plan for a budget
Invert budgeting: give Mave a goal and a credit budget, get a sequenced study mix with the math shown.
curl -X POST "$BASE/api/v1/tools/plan_research_budget" -H "x-api-key: $MAVERA_API_KEY" \
-H "content-type: application/json" -d '{
"input": { "goal": "launch positioning for the new collar", "budgetCredits": 2000 }
}'The mix is model-proposed; every cost number comes from the measured price table in code (honesty.costsAre: "measured-price-table"). Over-budget mixes are trimmed, never silently exceeded. Both are also available as one-click cards on the Workflows page.