Commit Graph

3 Commits

Author SHA1 Message Date
21d054bc38 fix: use read-event with ctrl flag, add resize handling
- Switched back to read-event be :timeout 0.01 for proper key-event
  dispatch with the ctrl/alt/shift flags
- Fixed Ctrl+P/B/Q/L dispatch: check key-event-ctrl flag to
  construct :CTRL-<key> keyword symbol (read-event returns :P + ctrl=t,
  not :CTRL-P)
- Added :size-queried state flag and post-handshake backend-size re-query
- Removed hardcoded Connected v0.5.0 message from connect-daemon
- Removed Connected v0.7.2 system message (version shown in status bar)
- view-status now uses draw-rect for background (instead of dotimes loop)
- Added startup message showing backend type and detected dimensions
2026-05-14 09:31:16 -04:00
a77580c449 fix: correct setf form in perceive gate HITL handler
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 2s
(setf (getf signal :approved t)) → (setf (getf signal :approved) t)

Caught during system compilation. This is exactly the class of bug that
the REPL-first discipline would have caught instantly.
2026-05-03 13:19:04 -04:00
5e7b1cee33 feat: HITL — continuation-based human-in-the-loop
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s
- dispatcher-check: add :level :approval-required to network/high-impact returns
- cognitive-verify: distinguish approval-required from hard rejection; pass
  approval requests through to act gate instead of returning early
- loop-gate-reason: don't retry approval requests; pass them as approved-action
  with :status :requires-approval
- loop-gate-act: detect approval-required, create Flight Plan, dispatch HITL
  message to user's client, don't execute original action
- loop-gate-perceive: handle re-injected approved signals from
  dispatcher-approvals-process; set :approved-action on signal
- dispatcher-approvals-process: fix function name (stimulus-inject) and wrap
  action in proper signal envelope with :sensor :approval-required
- Fix: list-objects-with-attribute → memory-objects-by-attribute
- Fix: org-id-new → org-id-generate
- Fix: inject-stimulus → stimulus-inject (correct function name)

Flow:
1. LLM proposes high-risk action → dispatcher returns approval-required
2. cognitive-verify collects approval request → passes to reason as :requires-approval
3. loop-gate-act creates Flight Plan → dispatches HITL message to client → exits
4. Human approves in Emacs → heartbeat re-injects with :approved t
5. Re-injected signal flows through pipeline → dispatcher passes through
6. Action executed normally
2026-05-03 13:00:19 -04:00