You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Host the smallest Jim.edict application as an Echo-realized active observer
and move production input from frontend operation calls to canonical event
delivery.
state:
mode
cursor
active_buffer
pending_action
on KeyEvent:
request TextWindow
on TextWindow Reading:
derive a Jim-owned operation intent
on operation Outcome:
advance Jim state
emit render projection
Acceptance criteria
edict/jim/src/Jim.edict owns the minimal persistent editor state and
transition law.
Jedit/Bijou/native code normalizes terminal input to a canonical KeyEvent
without interpreting command meaning.
Echo delivers the event to the installed observer at an explicit Jim
basis and budget.
Jim.edict requests TextWindow.edict, receives a basis-bound Reading,
and derives any ReplaceRange intent from Jim state.
Echo executes the compiler-produced generic child program and returns one
outcome or typed obstruction.
Jim.edict alone advances mode, cursor, registers, and pending-action
state, then emits a disposable render projection.
Jedit renders only the returned projection and performs no optimistic text
mutation.
WAL, receipt, reading, Tick, Jim-state transition, and restart evidence
form one inspectable worldline.
Negative gates reject TypeScript command-to-operation mapping, native Jim
planners, handwritten packages, caller patches, and compatibility fallback.
Non-goals
No broad Vim parity. Prove one canonical event sequence first.
No application vocabulary or rope intrinsic in Echo.
No terminal/process/filesystem authority inside Edict.
Slice
Host the smallest
Jim.edictapplication as an Echo-realized active observerand move production input from frontend operation calls to canonical event
delivery.
Parent: #295.
Minimum state machine
Acceptance criteria
edict/jim/src/Jim.edictowns the minimal persistent editor state andtransition law.
without interpreting command meaning.
basis and budget.
Jim.edictrequestsTextWindow.edict, receives a basis-bound Reading,and derives any
ReplaceRangeintent from Jim state.outcome or typed obstruction.
Jim.edictalone advances mode, cursor, registers, and pending-actionstate, then emits a disposable render projection.
mutation.
form one inspectable worldline.
planners, handwritten packages, caller patches, and compatibility fallback.
Non-goals