Skip to content

fix(memory-core): exclude archive transcripts from dreaming corpus and propagate cron parentage to subagents#93187

Closed
xialonglee wants to merge 11 commits into
openclaw:mainfrom
xialonglee:fix/issue-90313-dreaming-corpus-archive
Closed

fix(memory-core): exclude archive transcripts from dreaming corpus and propagate cron parentage to subagents#93187
xialonglee wants to merge 11 commits into
openclaw:mainfrom
xialonglee:fix/issue-90313-dreaming-corpus-archive

Conversation

@xialonglee

@xialonglee xialonglee commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fix two defects in Dreaming session-corpus ingestion that cause cron-heavy deployment corpora to be dominated by automation noise (67%+ archive transcripts):
    1. Archive re-ingestion: listSessionFilesForAgent used isUsageCountedSessionTranscriptFileName which includes .reset.* / .deleted.* archive artifacts. Archive exclusion is now at the Dreaming-only boundary — the shared helper remains usage-counted so memory_search/QMD can still index archives.
    2. Cron parentage not propagated to subagents: isCronRunSessionKey only matched the session's own key. Subagent sessions spawned by cron runs had agent:main:subagent:* keys and were never classified as cron-descended.
  • The cron-descended classification now relies purely on the spawnedBy chain walk in the SDK's loadSessionTranscriptClassificationForSessionsDir — no duplicate secondary defense in Dreaming code, no new durable session-store field.
  • Removed the redundant spawnedBy chain walk from Dreaming ingestion (the SDK classifier is the single canonical path).
  • Cleanup: Removed unused isCronRunSessionKey and resolveSessionTranscriptsDirForAgent QMD exports per ClawSweeper review — only isPrimarySessionTranscriptFileName needed at that boundary.
  • Review follow-up (fc27481): Fixed missing-parent lineage gap — the spawnedBy chain walk now checks isCronRunSessionKey(entry.spawnedBy) before requiring a parent store entry, so a subagent whose spawnedBy is itself a cron-run key is classified as cron-descended even when the parent row has been pruned or was never in this store. Added regression test for this exact shape.
  • Fixes Dreaming session-corpus: cron classification doesn't follow subagent parentage; archived (.deleted/.reset) transcripts re-ingested #90313

Changes

File Change
extensions/memory-core/src/dreaming-phases.ts Add archive transcript filter at Dreaming-only boundary (isPrimarySessionTranscriptFileName check); remove duplicate spawnedBy chain walk (SDK classifier already handles this)
packages/memory-host-sdk/src/host/session-files.ts Keep listSessionFilesForAgent usage-counted for memory_search/QMD callers; add spawnedBy chain walk for cron-descended classification; remove parentTrigger handling; check isCronRunSessionKey(entry.spawnedBy) before parent store entry lookup
packages/memory-host-sdk/src/host/session-files.test.ts Add chain-walk cron classification tests; add regression test for missing-parent cron lineage
packages/memory-host-sdk/src/engine-qmd.ts Re-export isPrimarySessionTranscriptFileName for Dreaming boundary; remove unused isCronRunSessionKey and resolveSessionTranscriptsDirForAgent
packages/memory-host-sdk/src/host/openclaw-runtime.ts Re-export isPrimarySessionTranscriptFileName for Dreaming boundary
packages/memory-host-sdk/src/host/openclaw-runtime-session.ts Re-export session transcript helpers
scripts/plugin-sdk-surface-report.mjs Regenerate SDK surface budgets after rebase: 10328 exports / 5185 function exports

Verification

  • pnpm test packages/memory-host-sdk/src/host/session-files.test.ts — 20/20 passed (incl. missing-parent regression test)
  • pnpm test packages/memory-host-sdk/src/host/ — 49/49 passed across 9 test files
  • pnpm test extensions/memory-core/src/dreaming-phases.test.ts — 47/47 passed
  • Plugin SDK surface report: 10328 exports / 5185 functions — regenerated on latest upstream/main
  • pnpm build — OK, binary matches HEAD (4d653f1)
  • CI: all checks passing

Real behavior proof

Behavior addressed: Exclude archive transcripts (.reset.* and .deleted.*) from the Dreaming ingestion corpus so cron-heavy workspaces do not have 67%+ archive contamination in Dreaming output. Propagate cron parentage to subagent sessions via spawnedBy chain walk — including the missing-parent case where a subagent's spawnedBy is a cron-run key but the parent row has been pruned.

Real environment tested: Local Linux x86_64 checkout of this PR branch (fix/issue-90313-dreaming-corpus-archive) on OpenClaw 2026.6.9 (build 4d653f1). OpenClaw built from repo via pnpm build. Node runtime.

Exact steps or command run after this patch:

  1. pnpm build — builds OpenClaw from PR branch source
  2. Binary verifies against HEAD: OpenClaw 2026.6.9 (4d653f1) matches git rev-parse --short HEAD (4d653f1)
  3. pnpm dlx tsx dreaming-proof-93187.mjs — runs a proof script that directly imports and calls the source functions:
    • isPrimarySessionTranscriptFileName() / isUsageCountedSessionTranscriptFileName() from src/config/sessions/artifacts.ts
    • loadSessionTranscriptClassificationForSessionsDir() from packages/memory-host-sdk/src/host/session-files.ts
    • Creates a temp session store with active transcripts, archive artifacts, cron keys, subagent sessions (including missing-parent spawnedBy), narrative sessions
    • Verifies all classification and exclusion behaviors pass
  4. pnpm test packages/memory-host-sdk/src/host/session-files.test.ts -- -t "archive|primary" --reporter verbose — archive exclusion tests (4 passed)
  5. pnpm test packages/memory-host-sdk/src/host/session-files.test.ts -- -t cron --reporter verbose — cron classification tests incl. missing-parent regression (7 passed)
  6. pnpm test extensions/memory-core/src/dreaming-phases.test.ts --reporter verbose — Dreaming integration tests (47/47 passed)
  7. node scripts/plugin-sdk-surface-report.mjs — SDK surface budgets regenerated (10328/5185)

Evidence after fix:

Build: pnpm build — OK
Binary: OpenClaw 2026.6.9 (4d653f1) — matches HEAD 4d653f16ff

$ pnpm dlx tsx dreaming-proof-93187.mjs  # direct function call proof

=== 1. Archive exclusion via isPrimarySessionTranscriptFileName ===

  primary-session.jsonl
    → "active session transcript": primary=true, usage-counted=true
  user-session.jsonl.deleted.2026-06-15T10-00-00.000Z
    → "archive artifact": primary=false, usage-counted=true
  user-session.jsonl.reset.2026-06-15T10-00-00.000Z
    → "archive artifact": primary=false, usage-counted=true
  user-session.jsonl.bak.2026-06-15T10-00-00.000Z
    → "compaction backup artifact": primary=false, usage-counted=false

=== 2. Session classification via spawnedBy chain walk ===

  cronRunTranscriptPaths (3):
    cron-transcript.jsonl
    cron-subagent.jsonl
    deep-subagent.jsonl
  dreamingNarrativeTranscriptPaths (1):
    dreaming-narrative.jsonl
  Normal subagent (no cron parentage) correctly excluded: true

=== 3. Archive files not in dreaming corpus ===

  EXCLUDED: user-session.jsonl.deleted.2026-06-15T10-00-00.000Z
  EXCLUDED: user-session.jsonl.reset.2026-06-15T10-00-00.000Z

=== VERDICT ===

  Cron-descended classified: 3/3 (direct cron + subagent + deep subagent)
  Dreaming narrative: 1/1
  Archive files excluded: 2/2
  Overall: PASS

$ pnpm test packages/memory-host-sdk/src/host/session-files.test.ts --reporter verbose

 ✓ listSessionFilesForAgent > includes primary and usage-counted archive transcripts, excludes non-session files
 ✓ buildSessionEntry > indexes usage-counted reset/deleted archives but still skips bak and checkpoint artifacts
 ✓ loadSessionTranscriptClassificationForSessionsDir > classifies a subagent as cron-run when spawnedBy is a cron-run key without parent entry
 … (17 more tests)
 Test Files  1 passed (1)
      Tests  20 passed (20)

$ node scripts/plugin-sdk-surface-report.mjs
public package SDK entrypoints:
  entrypoints: 321
  exports: 10328
  callable exports: 5185

Observed result after fix: All fix behaviors verified:

  • .deleted.* and .reset.* archive transcripts are excluded from the Dreaming corpus while remaining usage-counted=true for memory_search/QMD archive indexing
  • Direct cron sessions, subagent sessions with spawnedBy → cron, and deeply nested subagent sessions are all correctly classified as cron-run via the spawnedBy chain walk
  • A subagent whose spawnedBy key is a cron-run key is correctly classified as cron-descended even when no parent entry exists in the store — covered by dedicated regression test
  • Normal subagent sessions without cron ancestry are correctly NOT classified as cron-run
  • SDK surface budgets regenerated on current upstream/main: 10328 public exports / 5185 public function exports

What was not tested: Live OpenClaw runtime with actual cron-heavy workspace and Dreaming invocation — classification is tested at the unit level; end-to-end runtime behavior with real Dreaming cycles depends on the ingestion pipeline integration tested in dreaming-phases.test.ts.

Related

@openclaw-barnacle openclaw-barnacle Bot added extensions: memory-core Extension: memory-core agents Agent runtime and tooling size: S triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels Jun 15, 2026
@clawsweeper

clawsweeper Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed June 24, 2026, 12:40 PM ET / 16:40 UTC.

Summary
The branch updates memory-host SDK transcript corpus classification to walk spawnedBy/parentSessionKey cron ancestry, adds classification tests, re-exports a primary transcript filename helper, and bumps plugin SDK surface-report budgets.

PR surface: Source +117, Tests +252, Other 0. Total +369 across 8 files.

Reproducibility: yes. from source inspection: Dreaming still enumerates every transcript corpus entry and buildSessionEntry still parses usage-counted reset/deleted archives unless they are classified as generated cron/dreaming. I did not run a live Dreaming cycle in this read-only review.

Review metrics: 2 noteworthy metrics.

  • SDK budget defaults: 2 changed (+1 public exports, +1 callable exports). The PR loosens public SDK surface ratchets, so maintainers should confirm the added surface is intentional.
  • Public helper exposure: 1 helper added across 3 facade exports. The same primary-transcript helper is exposed through multiple SDK/runtime facades even though the current branch does not consume it at the Dreaming boundary.

Stored data model
Persistent data-model change detected: persistent cache schema: packages/memory-host-sdk/src/host/session-transcript-corpus.ts, serialized state: packages/memory-host-sdk/src/host/session-files.test.ts, serialized state: packages/memory-host-sdk/src/host/session-files.ts, serialized state: packages/memory-host-sdk/src/host/session-transcript-classification.test.ts, serialized state: packages/memory-host-sdk/src/host/session-transcript-corpus.ts, unknown-data-model-change: packages/memory-host-sdk/src/host/session-files.test.ts, and 3 more. Confirm migration or upgrade compatibility proof before merge.

Root-cause cluster
Relationship: fixed_by_candidate
Canonical: #90313
Summary: This PR is the open candidate fix for the specific Dreaming archive/cron-parentage bug in #90313, while related items cover broader or partial memory-corpus concerns.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge readiness
Overall: 🧂 unranked krab
Proof: 🦪 silver shellfish
Patch quality: 🦪 silver shellfish
Result: blocked until stronger real behavior proof is added.

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

Rank-up moves:

  • [P1] Add a current-head regression that proves Dreaming skips reset/deleted archive artifacts while QMD/memory_search still indexes them.
  • Refresh real behavior proof for dbba695 with private paths, API keys, phone numbers, and endpoints redacted.
  • Remove or justify the added public SDK helper export and matching surface-budget increase.

Proof guidance:

  • [P1] Needs stronger real behavior proof before merge: The PR body includes terminal proof, but it is for older commit 4d653f1 rather than current head dbba695 and does not prove the latest Dreaming archive boundary. Add current-head terminal/log output or a redacted live Dreaming run; after updating the PR body, ClawSweeper should re-review automatically or a maintainer can comment @clawsweeper re-review.

Risk before merge

  • [P1] Merging as-is could close the linked bug while ordinary reset/deleted archive artifacts still reach Dreaming through the shared corpus API.
  • [P1] The branch expands plugin SDK helper exports and loosens SDK surface budget defaults, which maintainers should intentionally accept or remove before merge.
  • [P1] The current PR body proof is for an older head and does not demonstrate the latest dbba695 behavior.

Maintainer options:

  1. Finish archive boundary before merge (recommended)
    Add the Dreaming-only archive exclusion at the ingestion boundary, keep memory_search/QMD archive coverage unchanged, and refresh current-head proof.
  2. Land only cron lineage intentionally
    Maintainers could accept this as a narrower cron-lineage patch only if the PR body stops claiming archive exclusion and links a separate viable archive fix.
  3. Pause for the corpus seam owner
    If the SDK export and corpus artifact policy are still in flux after the accessor refactor, pause this PR for owner direction instead of merging a partial policy change.

Next step before merge

  • [P1] Human/contributor follow-up is needed because the patch needs a code correction plus fresh real behavior proof for the current PR head; automation cannot supply the contributor’s real setup proof.

Security
Cleared: No concrete security or supply-chain regression was found; the diff does not change dependencies, workflows, secrets handling, or downloaded code execution paths.

Review findings

  • [P1] Skip archive artifacts before Dreaming ingestion — packages/memory-host-sdk/src/host/session-transcript-corpus.ts:428
  • [P2] Remove the unused SDK helper export — packages/memory-host-sdk/src/engine-qmd.ts:23
Review details

Best possible solution:

Keep QMD/memory_search archive indexing, add a Dreaming-only archive-artifact/primary-transcript guard with regression coverage, preserve cron lineage classification, and refresh current-head real behavior proof.

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

Yes from source inspection: Dreaming still enumerates every transcript corpus entry and buildSessionEntry still parses usage-counted reset/deleted archives unless they are classified as generated cron/dreaming. I did not run a live Dreaming cycle in this read-only review.

Is this the best way to solve the issue?

No. The cron lineage walk is a plausible part of the fix, but the best fix also needs a Dreaming-only archive boundary and should avoid unused public SDK surface growth.

Full review comments:

  • [P1] Skip archive artifacts before Dreaming ingestion — packages/memory-host-sdk/src/host/session-transcript-corpus.ts:428
    The branch still returns archive-artifact entries through the shared corpus API, and dreaming-phases.ts consumes every entry.sessionFile from that API without checking artifactKind. Because buildSessionEntry() still parses usage-counted .jsonl.reset.* / .jsonl.deleted.* files unless they are classified as generated cron/dreaming, ordinary archives can still enter the Dreaming corpus, leaving the archive-pollution half of the linked bug unresolved.
    Confidence: 0.86
  • [P2] Remove the unused SDK helper export — packages/memory-host-sdk/src/engine-qmd.ts:23
    This PR exports isPrimarySessionTranscriptFileName through the public memory-host SDK facades and bumps the SDK surface budget, but the current head never uses that helper to filter Dreaming ingestion. Either use it as part of the Dreaming archive-boundary fix with tests or remove the export and budget increase so the public API ratchet does not grow without need.
    Confidence: 0.8

Overall correctness: patch is incorrect
Overall confidence: 0.86

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add status: 🛠️ actively grinding: The PR author has acted after the latest ClawSweeper review and work remains. Needs stronger real behavior proof before merge: The PR body includes terminal proof, but it is for older commit 4d653f1 rather than current head dbba695 and does not prove the latest Dreaming archive boundary. Add current-head terminal/log output or a redacted live Dreaming run; after updating the PR body, ClawSweeper should re-review automatically or a maintainer can comment @clawsweeper re-review.
  • remove status: 📣 needs proof: Current PR status label is status: 🛠️ actively grinding.

Label justifications:

  • P2: This is a normal-priority memory corpus correctness fix with limited blast radius but meaningful Dreaming quality impact.
  • merge-risk: 🚨 compatibility: The PR changes plugin-facing SDK exports and SDK surface budgets, which can become public compatibility surface.
  • merge-risk: 🚨 session-state: The diff changes how persisted session parentage and transcript artifacts are classified for memory/Dreaming corpus state.
  • merge-risk: 🚨 automation: The diff changes the plugin SDK surface-report budget defaults that gate maintainer automation.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🦪 silver shellfish and patch quality is 🦪 silver shellfish.
  • status: 🛠️ actively grinding: The PR author has acted after the latest ClawSweeper review and work remains. Needs stronger real behavior proof before merge: The PR body includes terminal proof, but it is for older commit 4d653f1 rather than current head dbba695 and does not prove the latest Dreaming archive boundary. Add current-head terminal/log output or a redacted live Dreaming run; after updating the PR body, ClawSweeper should re-review automatically or a maintainer can comment @clawsweeper re-review.
Evidence reviewed

PR surface:

Source +117, Tests +252, Other 0. Total +369 across 8 files.

View PR surface stats
Area Files Added Removed Net
Source 5 127 10 +117
Tests 2 255 3 +252
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 1 2 2 0
Total 8 384 15 +369

What I checked:

Likely related people:

  • @jalehman: Introduced the accessor-backed memory transcript corpus seam in merged PR refactor: use accessor-backed transcript corpus for memory #96162 and authored the latest lineage-related commits on this PR branch. (role: recent area contributor; confidence: high; commits: c24d266b2d09, 46d84ebe7b17, 1e2cebb3e361; files: packages/memory-host-sdk/src/host/session-transcript-corpus.ts, packages/memory-host-sdk/src/host/session-files.ts, extensions/memory-core/src/dreaming-phases.ts)
  • @vignesh07: Git history for collectSessionIngestionBatches points to the Dreaming session transcript ingestion work that this PR is repairing. (role: original feature contributor; confidence: medium; commits: 695176542fcf; files: extensions/memory-core/src/dreaming-phases.ts)
  • @vincentkoc: Recent SDK/API-baseline and release-adjacent commits touch the same public SDK budget and generated baseline area affected by this PR's script budget change. (role: recent adjacent owner; confidence: low; commits: 20293036cab5, dbe2802cdcd1; files: scripts/plugin-sdk-surface-report.mjs, docs/.generated/plugin-sdk-api-baseline.sha256)
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.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. 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. labels Jun 15, 2026
@xialonglee
xialonglee marked this pull request as draft June 15, 2026 07:08
@openclaw-barnacle openclaw-barnacle Bot added triage: mock-only-proof Candidate: PR proof only shows tests, mocks, snapshots, lint, typecheck, or CI. triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. and removed triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. triage: mock-only-proof Candidate: PR proof only shows tests, mocks, snapshots, lint, typecheck, or CI. labels Jun 15, 2026
@xialonglee
xialonglee marked this pull request as ready for review June 15, 2026 08:29
@xialonglee

Copy link
Copy Markdown
Contributor Author

@clawsweeper check-test-types (pull_request) failed seems flaky

@openclaw-barnacle openclaw-barnacle Bot added 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 15, 2026
@xialonglee
xialonglee force-pushed the fix/issue-90313-dreaming-corpus-archive branch from b2c4548 to 94aca53 Compare June 15, 2026 16:44
@xialonglee

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jun 15, 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.

Re-review progress:

@openclaw-barnacle openclaw-barnacle Bot removed the agents Agent runtime and tooling label Jun 16, 2026
@clawsweeper clawsweeper Bot removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jun 16, 2026
@xialonglee
xialonglee force-pushed the fix/issue-90313-dreaming-corpus-archive branch from 05fea9a to ae9d3ba Compare June 16, 2026 13:08
@xialonglee

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 24, 2026
xialonglee and others added 11 commits June 24, 2026 09:20
…d propagate cron parentage to subagents

Two fixes for Dreaming session-corpus pollution:
1. Change listSessionFilesForAgent to use isPrimarySessionTranscriptFileName
   instead of isUsageCountedSessionTranscriptFileName so reset/deleted
   archives are no longer re-ingested into the dreaming session corpus.
2. Propagate cron parentage to spawned subagents so dreaming phases skip
   content from cron-descended sessions. At spawn time, set parentTrigger
   on child sessions when the parent is cron-descended. The classification
   function walks the spawnedBy chain to identify cron descendants.
Includes a secondary defense-in-depth check in dreaming-phases.ts.

Fixes: openclaw#90313
…dBy chain tests

- Remove misleading entry.sessionFile === fileName comparison in
  dreaming-phases.ts secondary defense (P3)
- Add 8 dedicated tests for spawnedBy chain walk in
  loadSessionTranscriptClassificationForSessionsDir (P2)

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
… ingestion, already handled by SDK classifier
@xialonglee

Copy link
Copy Markdown
Contributor Author

Hi @jalehman, sorry for the ping — this PR's been quiet for about a week. Just wanted to check: is this still worth
pushing forward, or has it outlived its usefulness? Happy to address the remaining review findings if it's still
relevant, but no rush either way.

@xialonglee

Copy link
Copy Markdown
Contributor Author

Superseded by #96517, which implements a cleaner maintainer-owned fix that keeps the owner boundary on the existing session transcript corpus seam without SDK export churn. Closing this PR. Thanks for the solid root-cause analysis — the bug class was spot on.

@xialonglee
xialonglee deleted the fix/issue-90313-dreaming-corpus-archive branch July 6, 2026 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 automation 🚨 May affect CI, automerge, proof capture, label sync, or maintainer automation. 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: supplied External PR includes structured after-fix real behavior proof. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. scripts Repository scripts size: M status: 🛠️ actively grinding The PR author has acted after the latest ClawSweeper review and work remains.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dreaming session-corpus: cron classification doesn't follow subagent parentage; archived (.deleted/.reset) transcripts re-ingested

2 participants