Skip to content

fix(sessions): preserve workspace bindings across frozen clones - #32

Merged
phodal merged 1 commit into
QoderAI:mainfrom
chengfushi:fix/preserve-session-workspace-binding
Jul 31, 2026
Merged

fix(sessions): preserve workspace bindings across frozen clones#32
phodal merged 1 commit into
QoderAI:mainfrom
chengfushi:fix/preserve-session-workspace-binding

Conversation

@chengfushi

Copy link
Copy Markdown
Contributor

Summary

  • preserve private workspace CWD candidates when freezing the shared Session population
  • preserve the same non-enumerable binding when the lead clones the frozen inventory
  • cover Codex and Qoder clone paths without changing the serialized Session contract
  • add a maintenance spec and focused regression coverage

Root cause

Workspace CWD candidates are stored on Session objects as a non-enumerable
Symbol property. structuredClone and the Qoder preprocessing object spread
dropped that property. The frozen population still expected one eligible
Session, while the Session facts or lead lane re-qualified the cloned inventory
as zero eligible Sessions, causing SESSION_POPULATION_BINDING_MISMATCH.

Impact

Codex and Qoder evidence bundles now reuse one workspace-qualified frozen
population across Session facts and lead analysis. The private workspace
binding remains absent from Object.keys, object spread, and JSON output.

Validation

  • node --test test/session-population.test.mjs test/task-loop-source.test.mjs test/better-harness-evidence-bundle.test.mjs — 55 passed
  • npm test — 1019 passed
  • npm run pack:verify — passed
  • real Codex evidence bundle — complete; Session and lead lanes available; population binding bound; counts 1/1

Preserve non-enumerable workspace CWD candidates when freezing shared Session populations and when the lead clones that population. This keeps Codex and Qoder workspace qualification stable without exposing private metadata in serialized output.

Add regression coverage for frozen privacy and lead inventory reuse, plus a maintenance spec documenting the validation.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
@chengfushi
chengfushi marked this pull request as ready for review July 31, 2026 03:26
@chengfushi
chengfushi marked this pull request as draft July 31, 2026 03:31
@chengfushi
chengfushi marked this pull request as ready for review July 31, 2026 03:31
@phodal
phodal requested a review from Copilot July 31, 2026 03:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@phodal
phodal merged commit 51a23af into QoderAI:main Jul 31, 2026
4 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.

3 participants