[EPIC][module-runtime] Supervised module runs, jobs, cancellation, evidence, and typed session handles #194
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#194
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?
Parent: #192
Mission
Implement the canonical runtime lifecycle for Hackmode native modules: foreground/background runs, supervised jobs, cancellation, typed results/evidence, and long-lived session handles where a provider genuinely exposes an interactive authorized capability.
This should capture the useful operator concepts of Metasploit jobs/sessions without creating an unrestricted shell/payload subsystem.
Run lifecycle
A module run should have stable typed state equivalent to:
Every transition is operation/module/run attributed and inspectable.
Jobs
Background work should use the existing StarLang/actor supervision model.
Required capabilities:
Do not reproduce ad-hoc process/thread bookkeeping if an existing supervisor/actor abstraction can own it.
Typed session handles
Some authorized providers may expose a longer-lived interactive or stateful capability. Represent that as a typed Hackmode session handle, not raw ambient process authority.
A session handle should include at minimum:
Stale/closed/replaced handles must fail deterministically.
Evidence and results
Runs emit typed facts/events including:
Canonical state mutation continues through Hackmode APIs. A module does not write directly to Tek9.
Hackpert integration
Hackpert may start/observe/cancel module runs through typed actions in active mode. Passive mode may inspect run/evidence state but cannot dispatch effectful modules.
Reasoning strategy changes do not alter run authority.
Acceptance
Non-goals
First slice
Implement one synthetic background module run under StarLang supervision with stable run/job IDs, progress inspection, cancellation, and a typed final evidence record. Add session handles only after the base run lifecycle is green.