Adapt Hackpert into Hackmode as an optional Prolog expert layer #138
Closed
nsaspy
wants to merge 13 commits from
feature/24-hackpert-expert-layer into master
pull from: feature/24-hackpert-expert-layer
merge into: nsaspy:master
nsaspy:master
nsaspy:feat/android-operation-bridge
nsaspy:feat/star-bbpd-hackmode-actor-port
nsaspy:starintel/actor-ontology
nsaspy:first-party/starintel-recon-fold
nsaspy:chatgpt/201-starintel-target-receivers-20260917
nsaspy:impl/202-proxy-config
nsaspy:feature/issue-201-tool-actors
nsaspy:fix/core-expert-inspection-duplicate-accessors
nsaspy:feat/hm-cli-entrypoints
nsaspy:ops/restore-hackmode-workers-20260904
nsaspy:gpt/hackpert-objective-value-freeze
nsaspy:feature/retire-rage-workers
nsaspy:hackmode-rage-database/26-ipx-replay-parser-run10
nsaspy:rage-hackpert/29-freeze-selection-identity
nsaspy:rage/29-freeze-selection-identity
nsaspy:rage/15-ingest-by-state
nsaspy:rage/15-ingest-by-state-red-proof
nsaspy:auto-rage-hackpert/29-extension-identity-snapshot
nsaspy:hackmode-db/15-investigation-asset-views
nsaspy:hackpert/issue-29-objective-identity-aliasing
nsaspy:issue-138-http-request-contract
nsaspy:hackmode-rage-hackpert/issue-138-http-requester
nsaspy:db/143-visual-outbox
nsaspy:hackmode-rage-hackpert/137-http-transport-profile-20260901
nsaspy:rage-db/142-visual-scope-order
nsaspy:hackmode-rage-hackpert/136-ipx-addon
nsaspy:hackmode-rage-hackpert/135-capture-supervisor
nsaspy:rage-db/142-visual-evidence
nsaspy:hackmode-rage-hackpert/inspection-last-reason-20260831
nsaspy:hackmode-rage-database/http-header-policy-20260831-1343
nsaspy:hackmode-rage-database/typed-global-fetch-20260831-1102
nsaspy:hackpert/loop-reason-copy
nsaspy:hackmode-rage-hackpert/29-loop-scope-defensive-copy
nsaspy:rage-db/typed-long-term-fetch-11
nsaspy:rage-hackpert/direct-candidate-defensive-access-11
nsaspy:hackmode-rage-hackpert/29-direct-candidate-normalization
nsaspy:hackmode-rage-database/typed-operational-kb-fetch-20260831
nsaspy:rage-hackpert-12-objective-loop-step
nsaspy:rage-db-11-atomic-seed-import
nsaspy:hackmode-rage-hackpert/transition-reason-copy
nsaspy:hackpert/inspection-defensive-string-copies
nsaspy:auto-rage-database/op-kb-retraction-target-run11
nsaspy:hackmode-rage-hackpert/budget-inspection-20260831
nsaspy:auto-rage-database/global-export-canonical-source-20260831
nsaspy:hackmode-rage-database/live-promotion-source-20260831
nsaspy:hackmode-rage-hackpert/29-loop-transition-inspection
nsaspy:rage-database/capture-rotation-fork-20260831
nsaspy:hackmode-rage-hackpert/objective-selection-inspection-forward
nsaspy:hackmode-rage-hackpert/fix-find-apis-core-gate
nsaspy:hackmode-rage-hackpert/objective-selection-inspection
nsaspy:hackmode-rage-database/capture-source-rotation-20260830
nsaspy:hackmode-rage-hackpert/27-action-admission-inspection
nsaspy:hackmode-rage-hackpert/27-action-inspection
nsaspy:hackmode-rage-database/capture-quarantine-20260830-r2
nsaspy:hackmode-rage-hackpert/27-plan-inspection
nsaspy:hackmode-rage-database/capture-quarantine-20260830
nsaspy:hackmode-rage-hackpert/27-run-inspection
nsaspy:hackmode-rage-database/26-capture-checkpoint-20260830-1600
nsaspy:hackmode-rage-hackpert/26-http-exchange-snapshot
nsaspy:hackmode-rage-database/http-exchange-graph-20260830
nsaspy:hackmode-rage-hackpert/29-budget-loop-admission
nsaspy:auto-rage-db-effective-kb-20260830-1357
nsaspy:hackmode-rage-hackpert/29-objective-budget
nsaspy:hackmode-rage-database/24-execution-outcome-kb-candidates-reconcile-3
nsaspy:hackmode-rage-hackpert/29-objective-selection
nsaspy:hackmode-rage-database/24-execution-outcome-kb-candidates-reconcile-2
nsaspy:hackmode-rage-hackpert/29-extension-registry
nsaspy:hackmode-rage-database/24-execution-outcome-kb-candidates-reconcile
nsaspy:hackmode-rage-hackpert/29-objective-spec
nsaspy:hackmode-rage-database/24-execution-outcome-kb-candidates
nsaspy:hackpert/27-loop-stop-escalation
nsaspy:hackmode-rage-database/24-kb-seed-import
nsaspy:hackmode-rage-hackpert/27-recon-expert
nsaspy:hackmode-rage-database/24-reusable-kb-reads
nsaspy:hackmode-rage-hackpert/27-canonical-snapshot-refresh
nsaspy:hackmode-rage-database/24-operation-snapshot-reads
nsaspy:hackmode-rage-hackpert/27-plan-playbook-primitives
nsaspy:hackmode-rage-database/24-replay-conflict
nsaspy:hackmode-hackpert/27-graph-kb-snapshot
nsaspy:hackmode-rage-database/24-global-kb-export-forward
nsaspy:hackmode-rage-hackpert/48-recon-providers-forward
nsaspy:hackmode-rage-database/24-global-kb-export
nsaspy:hackmode-rage-hackpert/27-provider-orchestration-v2
nsaspy:hackmode-rage-database/24-long-term-kb-promotion
nsaspy:feature/hackpert-recon-toolkit
nsaspy:hackmode-rage-hackpert/27-provider-orchestration
nsaspy:fix/forbid-agent-framework-leakage
nsaspy:hackmode-rage-database/24-operational-kb
nsaspy:hackmode-rage-hackpert/27-active-action-protocol
nsaspy:rage-database/24-execution-graph-foundation
nsaspy:fix/agent-zero-only-rage
nsaspy:ci/rage-pr-serialization
nsaspy:rage-hackpert/27-engine-authority-mode
nsaspy:feature/30-auto-rage-profiles
nsaspy:feature/31-rage-worker-scope
nsaspy:agent/provider-actor-dns-slice
nsaspy:agent/persistent-operation-outbox
nsaspy:agent/starintel-document-projection
nsaspy:agent/reproducible-core-ci
nsaspy:agent/curate-hackmode-scripts
nsaspy:agent/canonical-operation-asset-protocol
nsaspy:agent/hackmode-monorepo-foundation
No reviewers
Labels
Clear labels
bug
Something isn't working
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
enhancement
New feature or request
feature
New feature or capability
good first issue
Good for newcomers
help wanted
Extra attention is needed
invalid
This doesn't seem right
question
Further information is requested
refactor
Code cleanup without behavior change
wontfix
This will not be worked on
No labels
bug
documentation
duplicate
enhancement
feature
good first issue
help wanted
invalid
question
refactor
wontfix
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/hackmode!138
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/24-hackpert-expert-layer"
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?
Summary
Adapts the useful Hackpert reasoning ideas into the canonical Hackmode runtime without importing its legacy operation/target state model or direct tool runner.
Closes #24 when the foundational expert bridge is accepted; the expanded graph/KB/expert-engine program is explicitly tracked in #24 as follow-on implementation slices rather than being hidden in comments.
The passive traffic-intelligence path is now tracked separately as IPX in #26, with its architecture contract added to this PR in
docs/architecture/ipx.org.What changed
Architecture correction from #24
Hackpert is an expert plane that consumes canonical state plus typed tool calls/results and ultimately returns a typed graph delta.
Prolog never mutates canonical state. The Common Lisp wrapper owns every effect.
The graph direction covers tool calls, inputs, outputs, findings, discovered assets, success/failure evidence, attack/recon steps, plans/playbooks, KB provenance, and—through IPX—passively observed application traffic.
KB direction
The architecture defines three scopes:
Prolog may propose promotion/export candidates. Common Lisp validates and persists them. Global looting is explicit, never implicit.
IPX passive traffic stack (#26)
IPX adds a passive evidence path without weakening the Hackpert authority boundary:
Key invariants:
See
docs/architecture/ipx.organd #26 for the full contract and acceptance proof.Learning / expert goals captured from #24
Deliberately not ported
HACKMODE_OP/HACKMODE_PATHauthoritytargets.txt/ scope text files / mutable expert state filesrun_toolExecution stays behind Hackmode's existing provider/job path.
Scope of this PR
This PR remains the foundation slice: optional Prolog bridge, safe snapshots, classification, recommendations, tests, and the now-correct architecture contracts.
The next implementation slices tracked in #24/#26 are:
No there will be 2 engine modes of hackpert
Corrected post-merge architecture per this comment.
PR #25 is now treated as the passive foundation only, not the final Hackpert authority model.
The intended model is:
Hackpert remains an orchestrator in active mode; the Common Lisp wrapper is the validated effect boundary rather than a blanket prohibition on mutation.
I updated parent tracker #24 and created #27 for the active-engine implementation, including LISH mode/run/graph/KB integration.
Pull request closed