Skip to content

feat(simulation): read-only Conversation view for completed runs#693

Open
alreadyhavefeel wants to merge 1 commit into
666ghj:mainfrom
alreadyhavefeel:feat/step3-readonly-conversation
Open

feat(simulation): read-only Conversation view for completed runs#693
alreadyhavefeel wants to merge 1 commit into
666ghj:mainfrom
alreadyhavefeel:feat/step3-readonly-conversation

Conversation

@alreadyhavefeel

Copy link
Copy Markdown

Problem

Step3Simulation.vue calls doStartSimulation({ force: true }) unconditionally in onMounted. Opening Step 3 for a simulation that already finished therefore force-restarts it — discarding the completed run and re-spending LLM/graph budget. There is also no entry point to revisit a completed run's conversation timeline from the history list (the history modal only links to Step 1 / Step 2 / Step 4).

Changes

  • Step3Simulation.vue — new initSimulation() runs on mount: it first checks getRunStatus. If the simulation has already run (completed / stopped / running, or total_actions_count > 0), it loads the existing timeline read-only (fetchRunStatusDetail), resuming live polling only when still running. A genuinely fresh simulation starts exactly as before. No more accidental force-restarts.
  • HistoryDatabase.vue — adds a "Step3 · Conversation" button to the history modal that routes to the SimulationRun view for the selected simulation, so completed runs are one click away.
  • locales (en/zh) — adds history.step3Button and updates replayHint (which previously said Step 3 doesn't support replay) to reflect that completed runs are now viewable read-only.

Notes

Step 3 (Step3Simulation.vue) called doStartSimulation({force:true}) on every
onMounted, so opening a finished simulation force-restarted it — wiping the run
and re-spending tokens. There was also no way to revisit a completed run's
timeline from history.

- Step3Simulation: add initSimulation() that checks run-status first. If the
  simulation already ran (completed/stopped/running, or has actions), load the
  existing timeline read-only (resume polling only if still running) instead of
  force-starting. Genuinely fresh simulations start as before.
- HistoryDatabase: add a "Step3 · Conversation" button to the history modal
  that routes to the SimulationRun view for the selected simulation.
- locales: add history.step3Button (en/zh) and update replayHint to reflect
  that completed runs are now viewable read-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants