docs(method): leash file for the JeditWorldlineSessionPort scaffold#34
Conversation
The transitional session surface that landed with PR #33 (merge 90245c7) — JeditWorldlineSessionPort, JeditTransportSeam, the in- memory session-port adapter, the installed EINT bridge, and the two session-port spec files — is deliberately temporary. It exists because Echo cycle 0025 (sessions as causal contexts) has only landed Phase 1 design; the engine-side first-class Session / WorldlineId surface arrives in Phase 2 GREEN. This leash file is the machine-readable record of that contract, sibling to the prose narrative card at docs/method/backlog/asap/sessions-migration.md. The prose explains why; this file lists the symbols, the trigger, and the deletion proof for tooling (planned: xtask leash-audit) to act on. Convention this follows is defined in the echo repo at echo/docs/method/backlog/cool-ideas/METHOD_leash-files.md (PR #386). Deletion trigger: echo cycle 0025 Phase 2 GREEN. Deletion proof: 1. git grep for each symbol returns zero hits in src/ and spec/. 2. asap/sessions-migration.md moves to docs/method/retro/<cycle>/ with the deletion SHA appended. 3. bad-code/optic-codec-mixes-wire-with-session.md is fully resolved per its acceptance criteria. 4. This leash moves to docs/method/graveyard/leash/ with SHA. Status: active. If new capability wants to land on any of the named symbol surfaces while this leash is active, the right default is to write it in shape-of-Phase-2 (thin pass-through that will trivially survive deletion) rather than as a fully-featured port-side implementation. Escalate by promoting status if that becomes impossible for a real near-term need.
|
Warning Review limit reached
More reviews will be available in 28 minutes and 5 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 06d0462a34
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Review note from PR #34: include JeditWorldlineId in the symbols list iff its future deletion is intended. The JSDoc on the type at src/ports/jedit-worldline-session-port.ts:11-30 is explicit that the alias is a deferred-migration placeholder — at Phase 2 GREEN the engine-side WorldlineId becomes first-class and jedit threads it through instead of inventing client-side variants. So yes, leash it: it's structurally bound to the same trigger as the rest of the session-port scaffold. Also added an "Adjacent symbols deliberately NOT on the leash" section to record the boundary call: JeditWorldlineSession (the real contract-runtime session) survives Phase 2 because only its identity backing changes; the optic-client surfaces, EINT codecs, and fake/installed transport adapters also survive because they thread SessionId through rather than carrying causal state. This note exists so the next reader (human or audit script) can tell at a glance why those nearby names are not on the list.
Codex P2 review note on PR #34: the structural leash file is the machine-readable deletion contract, so the symbols list must catch the surface that actually survives into the runtime / emitted JS, not just the compile-time TypeScript surface. JeditTransportSeam is the TypeScript interface; jeditSessionPort is the field name it requires (see src/ports/jedit-transport-seam.ts and the isJeditTransportSeam type guard). The runtime grep proof needs both, because a caller in: - src/adapters/fake-echo-jedit-optic-transport.ts - src/adapters/installed-jedit-contract-echo-transport.ts - spec/jedit-optic-client.spec.mjs that still constructs a { jeditSessionPort: ... } literal would be invisible to a grep that only searched for the interface name. TypeScript types are erased; the runtime key is what persists. Added a "Why both JeditTransportSeam and jeditSessionPort are on the list" body section so the next reader knows the compile-time / runtime distinction is deliberate.
Summary
The first concrete instance of the leash-files METHOD lane proposed in echo PR #386. This file is the structural, machine-readable record of the deletion contract for the `JeditWorldlineSessionPort` scaffold that landed with PR #33 (merge `90245c73`).
Why now
PR #33's session-port surface is intentionally temporary. Echo cycle 0025 Phase 2 GREEN will ship the engine-side first-class `Session` / `WorldlineId` surface that obsoletes it. The 2026-05-30 merge session ended with the explicit watchout that this scaffold could become permanent furniture if we relied on memory alone.
This leash file:
Composes with
Test plan