Skip to content

feat(journal): add compact resume handoff summary (#1027)#1113

Merged
shaun0927 merged 5 commits into
developfrom
feat/1027-journal-handoff
May 13, 2026
Merged

feat(journal): add compact resume handoff summary (#1027)#1113
shaun0927 merged 5 commits into
developfrom
feat/1027-journal-handoff

Conversation

@shaun0927
Copy link
Copy Markdown
Owner

@shaun0927 shaun0927 commented May 12, 2026

Progress / Review status

Auto-refreshed 2026-05-13 — owner comments cleaned up to reduce review noise.

Field Value
Branch feat/1027-journal-handoffdevelop
Draft no
CI ❌ 0/9 passing — 9 failing
Mergeable ✅ MERGEABLE
Review decision
Codex (latest)
Other reviewers (latest)
Head ff42afd — Help agents resume long browser sessions safely
Commits 1

Owner comment cleanup: 0 issue + 0 inline review comments deleted. Outstanding feedback from automated/external reviewers above is unchanged.


Summary

  • Adds oc_journal action handoff_summary, a compact JSON read model over sanitized journal entries plus the existing current checkpoint file.
  • Includes period/scope metadata, current checkpoint tab evidence, completed milestones, grouped recent failures, pending steps, bounded recovery recommendations, and explicit limits/unavailable fields.
  • Treats tool results with isError: true as failed in the task journal, so non-throwing tool failures can appear in recovery summaries.
  • Adds deterministic unit coverage and a real OpenChrome E2E restart scenario proving the handoff remains available from persisted artifacts.

Direction / overlap review

Validation

  • npm run build
  • ./node_modules/.bin/eslint src/journal/handoff-summary.ts src/tools/journal.ts src/tools/checkpoint.ts src/mcp-server.ts --max-warnings=0
  • ./node_modules/.bin/jest --runTestsByPath tests/journal/handoff-summary.test.ts tests/tools/journal.test.ts tests/journal/task-journal.test.ts --runInBand
  • ./node_modules/.bin/jest --config tests/e2e/jest.e2e.config.js --runTestsByPath tests/e2e/scenarios/journal-handoff.e2e.ts --runInBand

Real OpenChrome verification covered

  • Starts a real OpenChrome MCP server with isolated HOME.
  • Navigates to a fixture, saves an oc_checkpoint, records a non-throwing failed tool result, calls oc_journal handoff_summary, verifies redaction and bounded recovery options, restarts the MCP process, and verifies the summary can still be produced from persisted artifacts.

@gemini-code-assist
Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@qodo-code-review
Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

Add a compact oc_journal handoff summary over existing sanitized journal and checkpoint artifacts. Keep the surface read-only, bounded, and explicit about unavailable live state so OpenChrome helps host agents recover without taking over planning.

Constraint: The existing checkpoint store only has a current checkpoint file, so checkpointId is informational unless set to current.
Rejected: Creating a new planner or durable task ledger | that would duplicate open task-ledger/context-handle work and expand OpenChrome beyond a harness surface.
Confidence: high
Scope-risk: moderate
Directive: Keep future handoff fields evidence-first and mark non-persisted live state as unavailable instead of guessing.
Tested: npm run build; eslint handoff/checkpoint/journal/mcp-server sources; jest handoff-summary/journal/task-journal; real OpenChrome E2E journal-handoff restart scenario.
Not-tested: Full repository test suite.
Co-authored-by: OmX <omx@oh-my-codex.dev>
@shaun0927 shaun0927 force-pushed the feat/1027-journal-handoff branch from 2a0b4f6 to ff42afd Compare May 13, 2026 09:34
shaun0927 added 4 commits May 13, 2026 19:40
…t cap

After adding the "handoff_summary" action, the oc_journal description
inflated to ~427 chars, tripping the issue #841 description-length
audit. Compress the action list and guidance lines so the resolved
description fits under MAX_DESCRIPTION_CHARS (400) while still
documenting all three actions and the when-to-use / when-NOT-to-use
heuristic. Restores green CI on every OS for PR #1113.
…pr-1113-fix

# Conflicts:
#	src/tools/journal.ts
@shaun0927 shaun0927 merged commit 81169ef into develop May 13, 2026
9 checks passed
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.

1 participant