origin/sessions-redone vs upstream/mainFetched review baseline:
upstream/main at 685fd42c3d8b3a3c26b5e96975a8656446a40682origin/sessions-redone at cc587a56da074b4e9f3c82c88a97440c02359f52Range summary after fetch: 50 files changed, +4676 / -278.
This fetched range is focused on the 5-stage lifecycle rollout: canonical lifecycle state, recovery rules, explicit agent reporting, PR/session policy decoupling, and dashboard exposure of split truth.
ao acknowledge and ao report <state> from inside a managed session, including rejection cases for merged, terminated, runtime-dead, and orchestrator sessions.Ask a skeptical reviewer to audit these areas in depth:
packages/core/src/lifecycle-manager.tspackages/core/src/lifecycle-state.ts, packages/core/src/session-manager.ts, packages/core/src/metadata.ts, packages/core/src/agent-report.tspackages/core/src/recovery/validator.tspackages/web/src/lib/serialize.ts, packages/web/src/lib/types.ts, packages/web/src/components/SessionCard.tsx, packages/web/src/components/SessionDetail.tsxpackages/core/src/types.tsSession.lifecycle field impact on downstream callers/tests/pluginspackages/core/src/prompt-builder.ts and packages/core/src/prompts/orchestrator.mdstateVersion: "2" / statePayload synthesize a correct lifecycle on read with no migration script.Session.lifecycle becoming required does not break any external or semi-external construction sites outside the updated tests/helpers.session.status consumers still behave acceptably via deriveLegacyStatus(), including the newly visible detecting state.detecting and related guidance text helps the human understand what AO is waiting on and when intervention is needed.pnpm buildpnpm typecheckpnpm lintpnpm testpackages/core/src/__tests__/lifecycle-manager.test.tspackages/core/src/__tests__/agent-report.test.tspackages/core/src/__tests__/recovery-validator.test.tspackages/web/src/lib/__tests__/serialize.test.tspackages/web/src/lib/__tests__/types.test.tsSession.lifecycle is now mandatory.