You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(v1): persona_cleanup Stage 1 — --sim-mode flag + deprecation warnings
Stage 1 of docs/plans/persona_cleanup_and_mode_transition.md. Strictly
additive: introduces the new --sim-mode CLI flag, makes --persona /
--sim-persona deprecated, and emits DeprecationWarning when
register_persona() is called. Hard-removal lands in 1.1 per the C4-C6
timing contract in docs/plans/v1_refinement.md Section 5
(0.9 warnings, 1.1 hard errors).
Constraint discovered during implementation: the plan proposed --mode
as the new flag, but --mode is already owned by the core run-mode flag
(live/train/reflection/sleep/agentic/exploration) at cli_parser.py:57.
Renaming the existing --mode is a separate breaking change with its own
deprecation cycle, out of scope for Stage 1. Decision: ship --sim-mode
only (mirroring --sim-persona/--persona). Documented in
extension_api.md.
Resolution rules in cli_utils._resolve_persona_mode (single chokepoint
that downstream Stages 3-5 will rename when dispatch migrates off
persona names):
- both flags + values match → silent (no warning), --sim-mode wins
- both flags + values differ → stderr WARNING, --sim-mode wins
- --sim-mode only → silent
- --persona only → DeprecationWarning + stderr line for visibility
- neither → default "adversarial" (preserves historical behavior)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| 8 | Custom personas |⚠️ experimental|[`maxim.register_persona(...)`](#8-custom-personas)|
20
+
| 8 | Custom personas |⛔ deprecated in 0.9 — removed in 1.1|[`maxim.register_persona(...)`](#8-custom-personas)|
21
21
22
22
---
23
23
@@ -408,7 +408,11 @@ handle.unsubscribe()
408
408
409
409
## 8. Custom personas
410
410
411
-
**Stability:** ⚠️ experimental — the persona system may be redesigned alongside future Mother Maxim / orchestrator work (see [stable_api.md](stable_api.md) and `docs/plans/persona_cleanup_and_mode_transition.md`). The verb name and signature may change in a future minor release.
411
+
**Stability:** ⛔ **deprecated in 0.9 — removed in 1.1.**`maxim.register_persona()` emits `DeprecationWarning` in 0.9 / 1.0 and will raise in 1.1. The persona system is being replaced by `--sim-mode` (an orchestrator flow-shape selector) plus the bio-emergent disposition mechanics tracked in `docs/plans/bio_emergent_persona_foundations.md`. The CLI flag `--persona` (and its `--sim-persona` alias) is also deprecated in 0.9; use `--sim-mode` instead. See [`docs/plans/persona_cleanup_and_mode_transition.md`](../plans/persona_cleanup_and_mode_transition.md) for the migration timeline and rationale.
412
+
413
+
> **Note on flag naming:** the persona-cleanup plan originally proposed the short alias `--mode`, but that token is already owned by the core run-mode flag (`--mode {live,train,reflection,sleep,agentic,exploration}`). Stage 1 ships `--sim-mode` only; freeing `--mode` for sim use is a separate breaking change with its own deprecation cycle.
414
+
415
+
> **Note (audit finding):** registered personas currently flow through to reports and logs as a label; the orchestrator does not inject the supplied `context_prompt` into the agent prompt today. The rich prompt strings shipped in `simulation/personas.py` exist as scaffolding for behavioural shaping that is being moved to `--sim-mode` and the bio-emergent disposition mechanics. Stage 5 of the cleanup plan removes the unused field.
412
416
413
417
Personas shape how the simulation orchestrator framing affects an agent — adversarial probing, cooperative coaching, etc. Register a persona once and reference it by name in `--persona <name>` or the `persona=` argument to `imagine()`/`run()`.
Copy file name to clipboardExpand all lines: docs/user/stable_api.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ This page lists what is **stable** in pymaxim 1.0 and what is **experimental**.
36
36
|---|---|---|
37
37
|`maxim.research(...) -> ResearchResult`| ⚠️ Experimental | Research orchestrator surface still evolving. Prompt templates, paper structure, and reviewer logic may change. |
38
38
|`maxim.on(event_name, callback) -> EventHandle`| ⚠️ Experimental | Event names + payload fields may grow. Subscription mechanism may evolve to support filters or async callbacks. |
39
-
|`maxim.register_persona(...)`|⚠️ Experimental |Persona system may be redesigned alongside future Mother Maxim/orchestrator work. |
39
+
|`maxim.register_persona(...)`|⛔ Deprecated in 0.9 — removed in 1.1 | Emits `DeprecationWarning` in 0.9 / 1.0; raises in 1.1. Persona system is being replaced by `--sim-mode` (orchestrator flow-shape) plus bio-emergent disposition mechanics. See [`docs/plans/persona_cleanup_and_mode_transition.md`](../plans/persona_cleanup_and_mode_transition.md). |
0 commit comments