Emacs: replace duplicated file/BBRF state with an asynchronous Hackmode runtime client #17
Labels
No labels
bug
documentation
duplicate
enhancement
feature
good first issue
help wanted
invalid
question
refactor
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/hackmode#17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The Emacs package is now physically in the Hackmode monorepo, but it still maintains a second operation/asset model using
~/.local/share/hackmode/{current-op,op-path}, operation directories, target text files, and direct BBRF shell commands.The Common Lisp runtime is now the canonical operation/asset authority (#6), so keeping this state in Emacs guarantees drift.
Current behavior
emacs/hackmode.el:.config/targets.txtshell-command-to-stringfor several operationsdotfilesnow has a separate sharedstarintel.elclient for StarIntel-level server operations; Hackmode-specific operation/recon UI should remain here, not move into dotfiles.Desired behavior
Make Emacs a non-authoritative asynchronous client of the Hackmode runtime.
Initial UI/features:
Architecture
Split the package along useful boundaries, not architecture theater:
emacs/hackmode.el— entrypoint/shared UI stateemacs/hackmode-operations.elemacs/hackmode-assets.elemacs/hackmode-recon.elemacs/hackmode-shell.elwhen LISH integration needs Emacs glueTransport must be asynchronous (
make-process, network process, or async HTTP depending on the runtime/server boundary). Long recon work must return immediately with a process/job handle and update buffers asynchronously.Compatibility BBRF commands may remain temporarily behind explicit compatibility names, but must stop being canonical state.
Dependencies
lost-rob0t/dotfiles#67/ mergedstarintel.elfor StarIntel-level server calls onlyAcceptance criteria
starintel.elintegration is one-way and non-circularVerification
shell-command-to-string/BBRF