Skip to content

[AI-assisted] Add session history family lookup#90239

Open
simplyclever914 wants to merge 79 commits into
openclaw:mainfrom
simplyclever914:fix/session-history-family
Open

[AI-assisted] Add session history family lookup#90239
simplyclever914 wants to merge 79 commits into
openclaw:mainfrom
simplyclever914:fix/session-history-family

Conversation

@simplyclever914

@simplyclever914 simplyclever914 commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Problem

When a threaded conversation has already been split across reset transcripts, chat.history and the sessions_history tool only read the currently active transcript. The session store can already retain the family through usageFamilySessionIds, but history readers do not use that chain and do not discover archived *.jsonl.reset.<timestamp> topic transcripts.

That means an agent/tool can be looking at the correct logical Telegram/Slack/Discord thread and still miss earlier turns after session rollover.

Fix

Add an opt-in family history path:

  • chat.history accepts includeFamily: true.
  • sessions_history accepts includeFamily.
  • Gateway and embedded chat.history now share the bounded/header-checked reset archive resolver instead of using separate prefix scans.
  • The shared resolver can include owned topic-suffixed reset archives such as <sessionId>-topic-456.jsonl.reset.<timestamp> only when the archive header matches the requested session id.
  • Same-prefix colliding topic archives and headerless topic archives are ignored.
  • Family read targets are capped before transcript reads, and normal chat.history behavior remains opt-in: UI startup does not load ancestor history.

Validation

Current head: 1aa4e9cbb94f6841803bd55559aa0ea6de17dc67.

  • CI=true node scripts/run-vitest.mjs run src/gateway/server.chat.gateway-server-chat-b.test.ts src/agents/tools/embedded-gateway-stub.test.ts
    • gateway shard: 84 tests passed
    • agents shard: 11 tests passed
  • CI=true node scripts/run-vitest.mjs run src/agents/openclaw-tools.sessions.test.ts
    • 36 tests passed
  • CI=true node --import tsx scripts/generate-prompt-snapshots.ts --check
    • Prompt snapshots are current (7 files).
  • CI=true node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo
    • passed
  • CI=true node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo
    • passed
  • git diff --check
    • passed, no output

Real Behavior Proof

  • Behavior or issue addressed: A logical thread whose active session has usageFamilySessionIds should be able to fetch earlier reset transcript turns when a caller explicitly requests family history, including owned topic-suffixed reset archives, without reading colliding or headerless topic archives. The current active transcript must also be preserved when a retained reset family has more entries than the bounded 32 read targets.
  • Real environment tested: Local OpenClaw checkout on this PR branch at current head a12e1bbcf0, using temporary on-disk session directories, the real Gateway chat.history RPC integration harness, embedded-mode chat.history, and the same reset archive filename/header patterns that OpenClaw creates for topic transcripts.
  • Exact steps or command run after this patch:
    1. Created temporary session directories and session-store entries with usageFamilySessionIds linking an ancestor session and the current session.
    2. Wrote an owned plain ancestor reset archive and an owned topic-suffixed ancestor archive with matching type: "session" headers.
    3. Wrote newer same-prefix colliding and headerless topic reset archives in the same sessions directory.
    4. Invoked the real Gateway chat.history RPC path with and without includeFamily: true.
    5. Created a second Gateway/RPC case with 40 ancestor session ids before the current id in usageFamilySessionIds.
    6. Invoked embedded-mode chat.history(includeFamily) through the sessions tool stub, including the same >32-family-target cap case.
  • Evidence after fix: Terminal capture from current head:
    $ CI=true node scripts/run-vitest.mjs run src/gateway/server.chat.gateway-server-chat-b.test.ts src/agents/tools/embedded-gateway-stub.test.ts
    Test Files  2 passed (2)
    Tests  84 passed (84)
    Test Files  1 passed (1)
    Tests  11 passed (11)
    [test] passed 2 Vitest shards in 44.69s
    
    $ CI=true node scripts/run-vitest.mjs run src/agents/openclaw-tools.sessions.test.ts
    Test Files  1 passed (1)
    Tests  36 passed (36)
    [test] passed 1 Vitest shard in 30.16s
    
    $ CI=true node --import tsx scripts/generate-prompt-snapshots.ts --check
    Prompt snapshots are current (7 files).
    
    $ CI=true node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo
    # passed
    
    $ CI=true node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo
    # passed
    
    $ git diff --check
    # no output
    
  • Observed result after fix: Default chat.history excludes ancestor reset archive content, while chat.history(includeFamily) includes the owned plain ancestor archive, includes the owned topic-suffixed ancestor archive, includes current-session content, and rejects the colliding/headerless topic reset archives. In the >32-target Gateway/RPC regression, chat.history(includeFamily) contains current survives family target cap, contains early ancestor content, and does not read the ancestor entries beyond the target cap. Embedded chat.history(includeFamily) now reads the current active transcript first, then current archives, then ancestor archives/active transcripts; its >32-target regression also keeps the current transcript and drops over-cap ancestors.
  • What was not tested: I did not run a live Telegram topic end-to-end, and this PR does not add prompt-level carryover summaries or automatic prompt injection. It only adds explicit family history retrieval for gateway/tool callers.

Current head addendum: 8c164eeaa3

ClawSweeper's a12e1bbcf0 review finding is addressed in this head:

  • Family target selection still reserves the current active transcript before the 32-target cap is reached.
  • Family output order is now ancestor transcripts first, then current-session reset archives, then the current active transcript, so final limit trimming keeps the active session tail.
  • Embedded chat.history(includeFamily) mirrors the Gateway order.
  • Added over-limit regressions proving includeFamily with a small final limit keeps current active history.

Standalone redacted embedded chat.history smoke from current head 8c164eeaa3545a9f05dc507908f9dec0236d2c47:

$ node --import tsx --input-type=module <<'TS'
# Creates a temporary session.store, one ancestor transcript, and one current transcript;
# calls createEmbeddedCallGateway().chat.history with default, includeFamily, and includeFamily+limit.
TS
{
  "default": [
    "redacted current context"
  ],
  "includeFamily": [
    "redacted ancestor context",
    "redacted current context"
  ],
  "includeFamilyLimit1": [
    "redacted current context"
  ]
}

Validation on 8c164eeaa3545a9f05dc507908f9dec0236d2c47:

$ CI=true node scripts/run-vitest.mjs run src/gateway/server.chat.gateway-server-chat-b.test.ts src/agents/tools/embedded-gateway-stub.test.ts
Test Files  2 passed (2)
Tests  84 passed (84)
Test Files  1 passed (1)
Tests  11 passed (11)

$ CI=true node scripts/run-vitest.mjs run src/gateway/server.chat.gateway-server-chat-b.test.ts -t 'chat.history preserves current transcript when family targets hit the cap'
Test Files  1 passed (1)
Tests  1 passed | 41 skipped (42)

$ CI=true node scripts/run-vitest.mjs run src/agents/tools/embedded-gateway-stub.test.ts -t 'keeps embedded current chat history when family targets hit the cap'
Test Files  2 passed (2)
Tests  2 passed | 20 skipped (22)

$ CI=true node --import tsx scripts/generate-prompt-snapshots.ts --check
Prompt snapshots are current (7 files).

$ CI=true node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo
# passed

$ CI=true node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo
# passed

$ git diff --check
# no output

Current head addendum: 0d37b42702

Maintainer readiness note addressed on current head 0d37b42702688ac9c4bf0edf949f99b00f096cf6:

  • Removed the resetAncestors sessions_history alias so the model-facing selector is only includeFamily.
  • Kept Gateway chat.history and sessions_history aligned on the single includeFamily flag.
  • The embedded history macOS path-normalization failure was already addressed by dropping the redundant path assertion in 6050d0bbfb.
  • Exact-head CI has restarted for 0d37b42702; at refresh time there were no failed checks and the remaining required/security checks were still running.

Validation on 0d37b42702688ac9c4bf0edf949f99b00f096cf6:

$ CI=true node scripts/run-vitest.mjs run src/agents/openclaw-tools.sessions.test.ts
Test Files  1 passed (1)
Tests  36 passed (36)

$ CI=true node scripts/run-vitest.mjs run src/agents/tools/embedded-gateway-stub.test.ts -t 'reads embedded chat history from reset ancestor transcripts when includeFamily is set|keeps embedded current chat history when family targets hit the cap'
Test Files  2 passed (2)
Tests  4 passed | 18 skipped (22)

$ CI=true node scripts/run-vitest.mjs run src/gateway/server.chat.gateway-server-chat-b.test.ts -t 'chat.history includes owned topic reset archives when includeFamily is set|chat.history preserves current transcript when family targets hit the cap'
Test Files  1 passed (1)
Tests  1 passed | 41 skipped (42)

$ git diff --check
# no output

Current head addendum: 1aa4e9cbb9

ClawSweeper's generated-snapshot blocker is addressed on current head 1aa4e9cbb94f6841803bd55559aa0ea6de17dc67:

  • Refreshed the Codex dynamic-tool prompt snapshots after removing resetAncestors.
  • resetAncestors no longer appears in source, docs, protocol/tool snapshots, or prompt snapshot counters.
  • Kept includeFamily as the only model-facing family-history selector.

Validation on 1aa4e9cbb94f6841803bd55559aa0ea6de17dc67:

$ CI=true pnpm prompt:snapshots:gen
Wrote 7 prompt snapshot files.

$ CI=true node --import tsx scripts/generate-prompt-snapshots.ts --check
Prompt snapshots are current (7 files).

$ CI=true node scripts/run-vitest.mjs run src/agents/openclaw-tools.sessions.test.ts
Test Files  1 passed (1)
Tests  36 passed (36)

$ git diff --check
# no output

Current head addendum: 64281c2720

ClawSweeper's latest exact-head proof and offset-semantics request is addressed on 64281c2720dce8a9dbe35bf2db7c37f5c64f8f6e.

The supported contract is now explicit:

  • default chat.history / sessions_history reads active history
  • includeFamily: true reads the newest bounded reset-family tail
  • offset reads active-history pages
  • includeFamily: true with offset is rejected at protocol/tool/Gateway/embedded validation instead of silently returning active-only pages

Exact-head protocol proof:

$ git rev-parse HEAD
64281c2720dce8a9dbe35bf2db7c37f5c64f8f6e

$ node --import tsx --input-type=module <<'TS'
# Imports current-branch packages/gateway-protocol/src/index.ts
# Validates default history, includeFamily tail, offset page, and includeFamily+offset.
TS
{
  "head": "64281c2720dce8a9dbe35bf2db7c37f5c64f8f6e",
  "defaultHistoryValid": true,
  "includeFamilyHistoryValid": true,
  "offsetPageValid": true,
  "includeFamilyOffsetValid": false,
  "includeFamilyOffsetErrors": [
    "must not be valid"
  ]
}

Exact-head validation:

$ CI=true node scripts/run-vitest.mjs run packages/gateway-protocol/src/index.test.ts
Test Files  1 passed (1)
Tests  45 passed (45)

$ CI=true node scripts/run-vitest.mjs run src/agents/tools/sessions-history-tool.test.ts src/agents/openclaw-tools.sessions.test.ts -t 'includeFamily|offset'
Test Files  4 passed (4)
Tests  12 passed | 84 skipped (96)

$ CI=true node scripts/run-vitest.mjs run src/agents/tools/embedded-gateway-stub.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts -t 'family|includeFamily|subagent_announce|sessionStartedAt|offset|cap'
Test Files  3 passed (3)
Tests  30 passed | 58 skipped (88)

$ pnpm lint --threads=8
# passed

$ CI=true pnpm check:test-types
# passed

$ CI=true node --import tsx scripts/generate-prompt-snapshots.ts --check
Prompt snapshots are current (7 files).

$ git diff --check
# no output

Current head addendum: 578af36109

Follow-up head 578af36109ebdd666d0159fc5287cdfda69d9ea1 keeps the explicit includeFamily + offset rejection while preserving generated protocol compatibility.

Important correction to the previous addendum: protocol schema generation currently needs ChatHistoryParams to remain a simple generated model, so the public schema still describes the fields. The unsupported combination is rejected consistently at the executable request boundaries instead of silently returning active-only pages:

  • sessions_history tool rejects before calling chat.history
  • embedded chat.history rejects before reading session files
  • Gateway chat.history rejects with includeFamily cannot be combined with offset
  • docs state that family history is available only through the newest bounded tail view

Exact-head validation:

$ git rev-parse HEAD
578af36109ebdd666d0159fc5287cdfda69d9ea1

$ pnpm protocol:check
# passed; generated protocol schema and Swift models are current

$ CI=true node scripts/run-vitest.mjs run packages/gateway-protocol/src/index.test.ts
Test Files  1 passed (1)
Tests  45 passed (45)

$ CI=true node scripts/run-vitest.mjs run src/agents/tools/sessions-history-tool.test.ts src/agents/openclaw-tools.sessions.test.ts -t 'includeFamily|offset'
Test Files  4 passed (4)
Tests  12 passed | 84 skipped (96)

$ CI=true node scripts/run-vitest.mjs run src/agents/tools/embedded-gateway-stub.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts -t 'family|includeFamily|subagent_announce|sessionStartedAt|offset|cap'
Test Files  3 passed (3)
Tests  30 passed | 58 skipped (88)

$ git diff --check
# no output

The broader exact-head validation from 64281c2720 remains applicable for lint, test-types, and prompt snapshots; this head only restores generated protocol compatibility while keeping runtime rejection behavior.

Current head addendum: `99106083df`

ClawSweeper's latest review items are addressed on current head `99106083dfc91bd188d2b4abd2d5aced2c7981ae`:

  • Family-history target capping now keeps the newest bounded ancestor tail instead of the oldest ancestors, while reserving current-session slots.
  • Gateway and embedded `chat.history(includeFamily)` both keep the current active transcript after family target capping.
  • The executable protocol validator now rejects `includeFamily: true` with `offset` while keeping `ChatHistoryParamsSchema` generator-compatible for protocol schema and Swift model generation.

Exact-head validation:

```text
$ git rev-parse HEAD
9910608

$ CI=true node scripts/run-vitest.mjs run packages/gateway-protocol/src/index.test.ts
Test Files 1 passed (1)
Tests 45 passed (45)

$ CI=true node scripts/run-vitest.mjs run src/agents/tools/sessions-history-tool.test.ts src/agents/openclaw-tools.sessions.test.ts -t 'includeFamily|offset'
Test Files 4 passed (4)
Tests 12 passed | 84 skipped (96)

$ CI=true node scripts/run-vitest.mjs run src/agents/tools/embedded-gateway-stub.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts -t 'family|includeFamily|subagent_announce|sessionStartedAt|offset|cap'
Test Files 3 passed (3)
Tests 30 passed | 58 skipped (88)

$ pnpm protocol:check

passed; generated protocol schema and Swift models are current

$ pnpm lint --threads=8

passed

$ CI=true pnpm check:test-types

passed

$ git diff --check

no output

```

Current head addendum: e9b75be554

Current head e9b75be554c409dbf49769417bd6ca5b3b2b7b30 keeps the runtime family-history behavior from 99106083df and only adds the latest origin/main merge, a docs note for sessions_history(includeFamily), and the generated docs map refresh.

Compatibility / migration proof for the persistent-state surfaces ClawSweeper flagged:

  • No existing transcript, session-store, proxy-capture, or serialized session-history records are rewritten or migrated by this PR.
  • The new includeFamily selector is opt-in; omitted or false keeps the existing active-transcript-only behavior for chat.history and sessions_history.
  • Reset-family archive discovery is bounded and header-checked before reading topic-suffixed reset archives, so colliding/headerless archives are ignored.
  • includeFamily: true with offset is rejected at the executable Gateway/embedded/tool validation boundaries instead of changing existing offset pagination semantics.
  • CI on exact head e9b75be554c4 is green: watchdog saw 105 checks, 94 evaluated required/relevant checks, 0 failed, 0 running; GitHub check runs include successful Real behavior proof, docs, lint, test-types, protocol/bundled checks, gateway/channel/agent critical quality, and security-high shards.

@openclaw-barnacle openclaw-barnacle Bot added app: web-ui App: web-ui gateway Gateway runtime agents Agent runtime and tooling size: M triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. proof: supplied External PR includes structured after-fix real behavior proof. and removed triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels Jun 4, 2026
@clawsweeper

clawsweeper Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Codex review: found issues before merge. Reviewed July 10, 2026, 7:37 AM ET / 11:37 UTC.

Summary
The PR adds opt-in reset-family transcript lookup to Gateway and agent history APIs, with protocol, generated client, documentation, and regression-test updates.

PR surface: Source +617, Tests +764, Docs -1, Other +85. Total +1465 across 37 files.

Reproducibility: yes. at source level: current history is active-transcript oriented, and the supplied real Gateway and embedded runs demonstrate the opt-in family path, bounds, ordering, collision rejection, and current-tail preservation.

Review metrics: 1 noteworthy metric.

  • History API surface: 1 selector added; 1 combination rejected. The new Gateway and tool parameter plus the includeFamily and offset rejection are permanent compatibility semantics.

Stored data model
Persistent data-model change detected: persistent cache schema: src/gateway/session-transcript-files.fs.ts, persistent cache schema: src/proxy-capture/store.sqlite.test.ts, serialized state: src/agents/tools/sessions-history-tool.test.ts, serialized state: src/agents/tools/sessions-history-tool.ts, serialized state: src/gateway/server.chat.gateway-server-chat-b.test.ts, serialized state: src/gateway/session-transcript-files.fs.ts, and 2 more. Confirm migration or upgrade compatibility proof before merge.

Merge readiness
Overall: 🦐 gold shrimp
Proof: 🦞 diamond lobster
Patch quality: 🦐 gold shrimp
Result: needs maintainer review before merge.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • Rebuild the branch as a narrow current-main patch.
  • Obtain explicit owner acceptance of the includeFamily contract.

Risk before merge

  • [P1] Merging the branch as-is would introduce unrelated agent, channel-progress, plugin, storage-test, and skill-curator changes outside the stated feature.
  • [P1] includeFamily becomes a permanent Gateway and model-facing API and rejects a previously valid-looking combination with offset; that contract needs explicit owner acceptance.
  • [P1] Family history broadens read visibility across persisted reset transcripts, so its ownership, ordering, and bounds are session-state compatibility concerns despite the opt-in default.

Maintainer options:

  1. Rebuild only the feature (recommended)
    Recreate the session-history implementation, tests, docs, and generated outputs on current main and drop every unrelated branch change.
  2. Pause for contract consolidation
    Pause if maintainers prefer one broader archived-history API before adding includeFamily.

Next step before merge

  • [P2] The PR needs a clean narrow branch and an explicit owner decision on the permanent session-history API; the merge-heavy branch is not safe for autonomous repair.

Maintainer decision needed

  • Question: Should OpenClaw adopt includeFamily as the public opt-in history contract, including rejecting it with offset, or consolidate this work under a broader archived-history API?
  • Rationale: The implementation is plausible and well proven, but it creates permanent Gateway and model-facing session-state semantics that overlap broader archived-history work.
  • Likely owner: jalehman — The decision crosses the transcript-reader seam they recently introduced across Gateway and embedded callers.
  • Options:
    • Accept family-scoped API (recommended): Keep the active-only default, bounded family lookup, and offset rejection after the branch is rebuilt narrowly.
    • Consolidate archived history: Pause this PR and define one broader contract covering family, arbitrary archives, and compaction-rotated transcripts.

Security
Cleared: No concrete security or supply-chain regression was found; the broader transcript read scope is handled as a compatibility and session-state decision.

Review findings

  • [P1] Remove unrelated runtime changes from this PR — src/agents/agent-command.ts:851-857
Review details

Best possible solution:

Rebuild the feature as a narrow current-main patch with one shared family-target resolver, only the required contract, docs, generated outputs, and tests, then obtain explicit owner approval for the family-scoped API.

Do we have a high-confidence way to reproduce the issue?

Yes at source level: current history is active-transcript oriented, and the supplied real Gateway and embedded runs demonstrate the opt-in family path, bounds, ordering, collision rejection, and current-tail preservation.

Is this the best way to solve the issue?

No in the current branch shape; the family-scoped design is reasonable, but unrelated changes must be removed and maintainers must choose this contract over the broader archived-history alternative.

Full review comments:

  • [P1] Remove unrelated runtime changes from this PR — src/agents/agent-command.ts:851-857
    Rebuild this branch so it contains only session-family history work. The current patch also changes ACP session selection, permits progress updates after a final reply, adds agent-runner final-tag behavior, and modifies other plugin, storage-test, and skill surfaces; those changes are unrelated to the stated contract and would silently alter independent runtime behavior. This is a late finding because the same branch-only changes were already present at the prior reviewed head.
    Confidence: 0.99
    Late finding: first raised on code an earlier review cycle already covered.

Overall correctness: patch is incorrect
Overall confidence: 0.93

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against c8655be91514.

Label changes

Label changes:

  • add rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦞 diamond lobster and patch quality is 🦐 gold shrimp.
  • add status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Sufficient (terminal): The PR body provides after-fix terminal proof through real Gateway and embedded paths, including default versus family behavior, bounds, ordering, collision rejection, offset validation, and current-tail retention.
  • remove rating: 🐚 platinum hermit: Current PR rating is rating: 🦐 gold shrimp, so this older rating label is no longer current.
  • remove status: 👀 ready for maintainer look: Current PR status label is status: ⏳ waiting on author.

Label justifications:

  • P2: This is a useful, bounded session-history improvement without emergency impact.
  • merge-risk: 🚨 compatibility: The PR adds a public history selector, rejects its combination with offset, and carries unrelated runtime changes.
  • merge-risk: 🚨 session-state: The PR changes which persisted reset-family transcripts can be returned for a logical session.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦞 diamond lobster and patch quality is 🦐 gold shrimp.
  • status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Sufficient (terminal): The PR body provides after-fix terminal proof through real Gateway and embedded paths, including default versus family behavior, bounds, ordering, collision rejection, offset validation, and current-tail retention.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body provides after-fix terminal proof through real Gateway and embedded paths, including default versus family behavior, bounds, ordering, collision rejection, offset validation, and current-tail retention.
Evidence reviewed

PR surface:

Source +617, Tests +764, Docs -1, Other +85. Total +1465 across 37 files.

View PR surface stats
Area Files Added Removed Net
Source 13 668 51 +617
Tests 21 855 91 +764
Docs 1 1 2 -1
Config 0 0 0 0
Generated 0 0 0 0
Other 2 872 787 +85
Total 37 2396 931 +1465

What I checked:

Likely related people:

  • jalehman: Recently introduced the transcript-reader seam used by Gateway and embedded history paths. (role: recent transcript-reader contributor; confidence: high; commits: 8ded75628437; files: src/agents/tools/sessions-history-tool.ts, src/agents/tools/embedded-gateway-stub.ts, src/gateway/server-methods/chat.ts)
  • galiniliev: Recently added sessions_history pagination behavior that directly intersects the proposed offset contract. (role: recent sessions-history contributor; confidence: high; commits: dc575d148a7c; files: src/agents/tools/sessions-history-tool.ts, src/agents/tools/embedded-gateway-stub.ts)
  • vincentkoc: Recently maintained transcript archive parsing and helper boundaries used by the proposed resolver. (role: recent archive-resolution contributor; confidence: high; commits: 2052a3bf4e53, d17bb9c3e933, f565138ddc91; files: src/gateway/session-transcript-files.fs.ts, src/agents/tools/sessions-history-tool.ts, src/gateway/server-methods/chat.ts)
  • obviyus: Recently maintained session lineage metadata and adjacent Gateway history and session behavior. (role: recent session-lineage contributor; confidence: medium; commits: 34d257713ea3, 0bf66ab7bdbf, 3ad465d32b3b; files: src/config/sessions/types.ts, src/gateway/server-methods/chat.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (31 earlier review cycles; latest 8 shown)
  • reviewed 2026-07-07T11:45:27.871Z sha 6aefb57 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T12:23:13.722Z sha d81c095 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T13:01:53.164Z sha cb5203b :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T13:52:24.416Z sha e5ad525 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T14:13:05.796Z sha 7adcc73 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T19:26:49.196Z sha 333fda9 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T19:37:15.263Z sha 333fda9 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-10T07:13:19.913Z sha 17feeab :: needs maintainer review before merge. :: none

@simplyclever914
simplyclever914 force-pushed the fix/session-history-family branch from 34ea846 to 22d3a25 Compare June 4, 2026 08:12
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels Jun 4, 2026
@simplyclever914
simplyclever914 requested a review from a team as a code owner June 4, 2026 08:32
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label Jun 4, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Jun 4, 2026
@openclaw-barnacle openclaw-barnacle Bot added the scripts Repository scripts label Jun 4, 2026
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jun 4, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label Jun 4, 2026
@simplyclever914
simplyclever914 force-pushed the fix/session-history-family branch from 60588c9 to f2cf517 Compare June 4, 2026 09:16
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. labels Jun 4, 2026
Clever added 26 commits July 6, 2026 17:48
…amily

# Conflicts:
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/discord-group-codex-message-tool.md
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/telegram-direct-codex-message-tool.md
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/telegram-heartbeat-codex-tool.md
…amily

# Conflicts:
#	src/skills/workshop/curator.ts
…amily

# Conflicts:
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/discord-group-codex-message-tool.md
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/telegram-direct-codex-message-tool.md
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/telegram-heartbeat-codex-tool.md
…amily

# Conflicts:
#	test/scripts/native-app-i18n.test.ts
…amily

# Conflicts:
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/discord-group-codex-message-tool.md
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/telegram-direct-codex-message-tool.md
#	test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/telegram-heartbeat-codex-tool.md
@simplyclever914

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Clever added 2 commits July 10, 2026 01:28
…amily

# Conflicts:
#	scripts/protocol-gen-swift.ts
…amily

# Conflicts:
#	apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift
#	scripts/protocol-gen-swift.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling app: web-ui App: web-ui channel: discord Channel integration: discord commands Command implementations docs Improvements or additions to documentation extensions: amazon-bedrock gateway Gateway runtime merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. merge-risk: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. P2 Normal backlog priority with limited blast radius. proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. scripts Repository scripts size: XL status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants