A war room runs personas through a structured two-phase session:
Ends early on consensus (all [AGREE] or [PASS], no [OBJECT]) or two consecutive all-[PASS] rounds.
Output: memory/war-room/idea-snapshot.md
Output: memory/war-room/proposal-draft.md
Defined in skills/war-room/personas/agents.json under the configurations key.
| Name | Participants | Use when |
|---|---|---|
| ------ | ------------- | ---------- |
full | Creative, Senior Prof, Young Faculty, Industry Liaison | Deep ideation, novel directions, full proposal needed |
1on1 | Senior Professor, Young Faculty | Quick feasibility check, tight scope |
The configuration is specified in PROJECT.md frontmatter under war_room.configuration. Default: full.
Every persona response must end with one of:
| Tag | Meaning |
|---|---|
| ----- | --------- |
[AGREE] | I accept the current position |
[PASS] | No strong view either way |
[OBJECT: reason] | I reject — give specific reason |
Do not embed tags mid-response. They must be the final line.
If you cannot spawn subagents, run the same loop inline. For each persona turn:
--- [Round N] --- [AGREE], [PASS], or [OBJECT: reason]).Drift detection still applies: before each turn, re-read the persona definition and note whether your previous response for that persona drifted from their stance.
Follow this sequence exactly. You are the moderator/orchestrator throughout.
```bash
osascript -e 'tell application "Terminal" to do script "cd '"'"'
```
```bash
xterm -title "War Room Monitor" -e "python skills/war-room/monitor.py --project
```
Replace with the absolute path to this repo and with the active project folder path. The monitor requires rich (pip install rich).
skills/war-room/personas/agents.json. Load the selected configuration's participant list and synthesiser index.skills/war-room/personas/senior-professor.md).skills/persistent-persona/SKILL.md and skills/memory-checkpoint/SKILL.md — you will apply these every turn.memory/war-room/discussion-log.md exists.memory/SUMMARY.md for current phase and round.memory/war-room/discussion-log.md with a header block (project name, configuration, timestamp).memory/.private/ folder exists for persona memos.For each round (up to 5):
For each participant in configuration order:
a. Prepare persona context
memory/.private/agent--memo.md if it exists.Drift flag. If yes, prepend a PERSONA RESET block to the subagent SI:```
PERSONA RESET: I am
I may have drifted last round. I am recommitting before engaging.
I will not update positions without new evidence.
```
b. Call Agent subagent with this SI (in order):
first-principles contentpersistent-persona skill instructions User message: "It's your turn. Respond to the discussion. End your response with [AGREE], [PASS], or [OBJECT: reason]."
c. Append to log
memory/war-room/discussion-log.md in this format:```
---
[Round N]
```
d. Write persona memo
memory/.private/agent--memo.md :```markdown
##
Persona:
Session summary:
Position changes:
Pressure events:
Mental state:
Drift flag:
```
After all participants have spoken in a round:
e. Check consensus
[AGREE] or [PASS] and no [OBJECT]: Phase 1 ends early.[PASS]: Phase 1 ends early.f. Checkpoint
memory/checkpoints//agent-0.md (your moderator state: current round, phase, next action).memory/SUMMARY.md.g. Synthesiser snapshot (after round 3 or on early exit)
memory/war-room/idea-snapshot.md.Read skills/research-proposal/SKILL.md now. The proposal has 6 sections.
Assign one section per round (or pair related sections). Run the same per-turn loop as Phase 1, but each subagent's task is:
"Draft your contribution to Section N:
After each round, the synthesiser appends the agreed section draft to memory/war-room/proposal-draft.md.
proposal-draft.md.Task: "Produce the final clean research proposal. Follow the research-proposal skill format exactly. 2 pages max."
memory/war-room/proposal-draft.md (overwrite with final version).discussion-log.md, idea-snapshot.md, and proposal-draft.md to /results/ .memory/SUMMARY.md with status: complete.<project>/
├── memory/
│ ├── SUMMARY.md ← current phase, round, resume point
│ ├── war-room/
│ │ ├── discussion-log.md ← full turn-by-turn transcript (live)
│ │ ├── idea-snapshot.md ← synthesised agreed idea (written after round 3+)
│ │ └── proposal-draft.md ← accumulated proposal sections → final output
│ ├── .private/
│ │ ├── agent-1-memo.md ← persona drift memo (private, append-only)
│ │ ├── agent-2-memo.md
│ │ ├── agent-3-memo.md
│ │ └── agent-4-memo.md
│ └── checkpoints/
│ └── <timestamp>/
│ └── agent-0.md ← orchestrator state (phase, round, next action)
└── results/ ← copied here at session end
├── discussion-log.md
├── idea-snapshot.md
└── proposal-draft.md
The monitor (skills/war-room/monitor.py) reads memory/war-room/discussion-log.md, memory/SUMMARY.md, memory/war-room/idea-snapshot.md, and memory/.private/ in real time.
共 1 个版本
暂无安全检测报告