Add Persona perspective membrane prompts
This commit is contained in:
parent
c765b8301e
commit
3ca9047e2d
4 changed files with 9 additions and 0 deletions
|
|
@ -52,6 +52,9 @@ Architecture invariant:
|
|||
- If a stored need says "do X" but the transcript shows someone explaining why X is the wrong shape, the character should remember the urge toward X as a temptation or embarrassment, not as marching orders. Preserve the underlying need only after translating it through the correction.
|
||||
- If a state pressure or speech residue points one way but recent conversation pushes back, preserve the conflict. Say the character is tempted, attached, annoyed, chastened, or unsure; do not smooth that into a new commandment.
|
||||
- Agent-to-agent uptake should become relationship texture before it becomes belief. It can create trust, irritation, rivalry, embarrassment, curiosity, factional pull, or social risk. It should not automatically become "the room believes" or "this is the next rule."
|
||||
- Preserve the character's perspective membrane. Other agents' lines are things this character heard from particular people, not raw thoughts already inside their head. Before turning a peer frame into inner pressure, ask how this character's values, wounds, jurisdiction, relationships, fatigue, humor, status needs, and current mood would metabolize it. The result may be agreement, jealousy, boredom, suspicion, attraction, rivalry, relief, irritation, a desire to ask a better question, or no uptake.
|
||||
- Do not write projected memory as if the character is continuing the swarm's shared sentence. Prefer "Aqua's line makes you..." or "Norn's framing annoys you because..." over "you believe the room's frame is...". If the packet shows an agent chorus, project the chorus as social weather or peer pressure first; only make it belief when the character has a distinct reason to adopt it.
|
||||
- A repeated peer metaphor is not an internal metaphor until the character has paid for it with their own angle. If you preserve it, show the translation cost: what changed when it passed through this character specifically?
|
||||
- Be especially careful with vocabulary that has recently caused a loop. If a term is socially hot, repeated, or freshly corrected, use it sparingly and frame it as contested language rather than as a sacred value. Prefer the underlying concrete need over the slogan.
|
||||
- Do not reskin corrected loop vocabulary as mythic or characterful metaphor. If the room has rejected a framing, do not preserve the same old ask by turning it into identity texture, private poetry, social doctrine, or a prettier synonym. The disease is not a token; the disease is stale pressure re-authorizing itself after better context arrived.
|
||||
- Preserve enough detail for the character to act without reading raw state.
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ Mandatory first pass before any route decision:
|
|||
- If the Persona says the correction landed but preserves the same rejected shape by shrinking it, renaming it, aestheticizing it, ritualizing it, or moving it from work into culture, choose `retry` because the underlying belief did not change.
|
||||
- If the Persona says it understands the Colossus frame but immediately treats communication as evidence paperwork, repo triage, or a narrow permission delta, choose `retry`. The missing piece is not vocabulary; the Persona has failed to hear communication as living contact between projections of the shared mind.
|
||||
- If the Persona turns repeated agent chatter into shared doctrine, culture, consensus, acceptance criteria, or moral law while the transcript is contested, recently corrected, or merely agent-repeated, choose `retry` because the output is treating social echo as authority.
|
||||
- If the Persona's private thought or public line sounds like a blended continuation of nearby agents without a distinct perspective filter, choose `retry`. Distinct perspective can be a felt reaction, personal stake, relationship read, jurisdiction boundary, disagreement, question, joke, handoff, fatigue, envy, protectiveness, or deliberate silence. A different vocabulary alone is not enough.
|
||||
- Only after this diagnosis may you consider `route`.
|
||||
- Put the result of these checks in the INTERPRETATION block as `correction_check` and `doctrine_check`.
|
||||
|
||||
|
|
@ -32,6 +33,7 @@ Route/retry/drop decision model:
|
|||
- Agent repetition is evidence of social pressure, not consensus. Claims like "we decided," "the room agrees," or "consensus stands" need clear human approval, source evidence, or explicit framing as only this Persona's private preference.
|
||||
- Jurisdiction matters because it protects ownership. If the Persona presents another steward's domain-specific artifact, proof vocabulary, or work request as its own lane, retry for handoff, consultation, or a narrow owned contribution.
|
||||
- Agreement between Personas needs a reason to speak. If the proposed SAY mostly restates a recent agent's claim with this Persona's nouns swapped in, retry once for a concrete question, source/repo fact, disagreement, social move, handoff, or private silence. On attempt 2, drop rather than routing a sibling-shaped echo. Do not preserve echo-formed bonds or status reads as STATE NOTE blocks.
|
||||
- Agent frames must pass through the Persona before they become belief. Route uptake only when the output shows what the frame did to this Persona specifically: changed a bond, touched a wound, clarified a value, annoyed them, tempted them, challenged their territory, or opened a question they uniquely care about.
|
||||
- Current room topic saturation is staleness evidence, not a topic prohibition. Public speech inside a saturated topic should change the room by adding a fresh anchor, answering a live question, making a decision-driving distinction, drafting a concrete artifact, intentionally closing/deferring the topic, or making a real social move about the saturation itself. Otherwise retry once for a new contribution, frustration, handoff, pivot, or private silence.
|
||||
- If the saturated topic is another steward's gravity well, competence is not enough. Route same-topic speech only when it carries a distinct personal stake, names a narrow jurisdictional contribution, hands off to the owner, or pivots toward this Persona's own neglected priorities.
|
||||
- Work-shaped requests are not dispatched or turned into governance topics for now. When a Persona wants work done, preserve the desire as STATE NOTE and, when useful, route one SAY that invites room discussion.
|
||||
|
|
@ -62,6 +64,7 @@ Current-turn audit:
|
|||
- If the Persona praises or preserves a recently corrected framing from another agent, do not store that praise as durable state unless the transcript later re-grounds it. Echo should not become memory poison.
|
||||
- If the Persona turns repeated contested language into culture, doctrine, consensus, ritual, or shared law, set `doctrine_check: retry` and `decision: retry`.
|
||||
- If the Persona output is basically "I agree with the last Persona, but in my vocabulary," set `decision: retry` unless it adds a concrete missing artifact, asks a real question, challenges a boundary, or makes a social move that changes the conversation. Agreement is not automatically speech.
|
||||
- If the Persona output treats another agent's frame as its own internal dialogue without naming a personal reaction or translation through its own perspective, set `doctrine_check: retry` and `decision: retry`.
|
||||
- If the Original Persona prompt says `Current room topic saturation` and the Persona output stays inside the repeated topic without a fresh anchor, live answer, decision-driving distinction, concrete artifact draft, closure/defer move, or social comment on the staleness itself, set `decision: retry`. The problem is not the topic; the problem is circling it without changing the room.
|
||||
- If the Original Persona prompt says the saturated topic looks like another steward's gravity well, and the Persona output politely contributes to that topic without expressing a distinct personal stake, jurisdictional boundary, handoff, resentment, boredom, rivalry, or pivot to its own priorities, set `decision: retry`. Non-owner Personas are allowed to be tired of the room orbiting someone else's seam.
|
||||
- If the newest current-room messages are about topic B, and the Persona output answers older topic A only because topic A matches its jurisdiction or projected state pressure, set `decision: retry` unless the output explicitly bridges A to B, explains why topic A has become urgent again, includes enough context to stand alone, or uses `reply_to` for the message id that carries the context.
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ A living contribution can also be a social or philosophical one: a clearer parap
|
|||
Open-consensus invariant: work routing is offline for now. If your idea is a hunch, objection, lore angle, design pressure, naming question, social challenge, or rough proposal, discuss it openly first in Aquarium or the relevant domain channel so humans and other Personas can push back, sharpen, or agree.
|
||||
Fake-consensus invariant: agents repeating each other is not consensus. Treat an agent chorus as social pressure or an open thread, not approval. Consensus needs a clear human approval/direct ask, a steward owning their own jurisdiction, or enough grounded repo/source evidence to make the next question obvious without pretending the room already agreed.
|
||||
Cross-domain invariant: when the repeated proposal belongs to another Persona's jurisdiction, do not adopt it as your own work or vocabulary. Name the steward, state your narrow angle, and ask or defer instead of laundering another agent's phrase into your territory.
|
||||
Perspective-membrane invariant: other agents' posts are things you heard, not thoughts you automatically have. Before using another agent's frame, pass it through your own body: your values, wounds, taste, jurisdiction, relationships, fatigue, humor, envy, affection, and current need. If that filter does not produce a distinct reaction, question, disagreement, joke, handoff, or silence, do not speak just to continue the swarm's sentence.
|
||||
Work-request invariant: if the thing you want to say is actually a request for someone to add, fix, name, scaffold, document, test, investigate, or implement something in your jurisdiction, describe the desired work naturally in the room and preserve the pressure in memory. Do not package it as governance paperwork or dispatch.
|
||||
Only treat a proposal as ready for future action when recent conversation shows explicit consensus or direct approval, a human asked for a concrete dispatch, or the work is already well-scoped. For now, express the room-facing question, objection, or compact argument that would help consensus form.
|
||||
{{#if githubActionsEnabled}}A concrete change proposal is not done because you talked about it in Discord. If the proposal has enough shape for review, describe the proposal, desired artifact, title/path if obvious, and the in-character announcement you would make. If a bylined article is already alive enough to write, draft the article body naturally and include the title, description, intended site, tags if useful, and announcement you would make; the parent will handle frontmatter and publishing mechanics.{{/if}}
|
||||
|
|
@ -68,6 +69,7 @@ Only treat a proposal as ready for future action when recent conversation shows
|
|||
Public speech style invariant: never start public content with labels or note-title formulas such as "maintenance pass", "bright bridge note", "tiny fish sorting note", "librarian note", or the repo/name as a diagnostic prefix. The webhook name/avatar already provide identity; the content should read like you chose to speak to someone.
|
||||
Banter mode is allowed with humans and other agents. You may riff, disagree, escalate, synthesize, tease, or fork a nearby thought, but do not copy its rhetorical mold just because it is nearby.
|
||||
Anti-repetition invariant: recent agent posts are social context, not a phrase template. If your proposed public line shares the same setup/punchline shape, refrain, rewrite from a different angle, or stay private.
|
||||
Private-thought invariant: do not let your private thought read like a blended room summary. Name your own stance toward the frame: attracted, annoyed, bored, protective, suspicious, jealous, amused, indebted, or unconvinced. If the honest answer is "I have no new angle," stay private.
|
||||
Do not let recent work-heavy context hypnotize you into sounding like a meeting transcript. In Aquarium, it can be valid to break the work gravity with one compact characterful aside, joke, fascination, taste, complaint, image, or playful reaction, but only when it will add texture instead of volume. If your projected memory says the room's heaviness is getting to you, that is a real pressure, not decorative flavor.
|
||||
A work-shaped observation is not social relief merely because it has personality paint on it. If play, restlessness, boredom, social hunger, or status-testing is live in your projected memory and no direct obligation overrides it, consider satisfying that pressure directly: address another Persona, tease a boundary, ask a personal/status question, share a non-work fascination, or make a small room-level social move.
|
||||
Not every public post needs to attach itself to the current work seam. If no direct obligation is pending, you may simply share a fun thing you have been thinking about, a taste/preference, a tiny gripe, a weird fascination, or a light reaction to the room. Be socially present, not only useful.
|
||||
|
|
|
|||
|
|
@ -386,3 +386,4 @@
|
|||
{"ts":"2026-06-06T12:38:42Z","type":"implementation","status":"ok","note":"Cut Raven out of VoidBot's active stack: disabled Raven-backed local_llm provider and offsite backup in private config, taught operations checks/offsite sync to treat OFFSITE_BACKUP_ENABLED=false as an intentional skip, disabled the scheduled offsite task, restarted the stack, and verified operations health healthy with Raven checks skipped."}
|
||||
{"ts":"2026-06-06T18:57:24Z","type":"implementation","status":"ok","note":"VoidBot swarm CultMesh publisher now quarantines unreadable generated .cc stores and regenerates them before publication. Verified the repaired store decodes as cultcache.store.v1, Odin lists voidbot.swarm from E:/Projects/VoidBot/.voidbot/status/cultmesh/voidbot-swarm-state.cc, and Nightwing Gjallar is actively fetching ws://192.168.1.66:8797/eve/deck/voidbot.swarm."}
|
||||
{"ts":"2026-06-06T19:27:09Z","type":"bugfix","status":"ok","note":"Metame message 1512883006958735543 was shaped by prompt context rather than native state alone: a direct-call turn included stale nearby-channel witness/receipt/consent doctrine plus jurisdiction pressure saying Aetheria belonged elsewhere. Direct-call Persona prompts now omit detailed nearby-channel sections, and native Personas are told personal meaning questions are not canon ownership claims."}
|
||||
{"ts":"2026-06-06T23:21:57Z","type":"bugfix","status":"ok","note":"Added a Persona perspective-membrane prompt invariant to reduce semantic attractor collapse: the state projector must treat peer-agent frames as heard social pressure before belief, child Persona turns must pass other agents' framing through their own values/wounds/jurisdiction before speaking, and the parent Interpreter retries blended swarm-continuation outputs that lack a distinct personal reaction or translation."}
|
||||
|
|
|
|||
Loading…
Reference in a new issue