Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
70b15b9
fix(cmd): surface provider secret migration errors
Patel230 Jun 16, 2026
f125d69
fix(daemon): refuse to start with no API key on non-loopback bind
Patel230 Jun 16, 2026
e55a3c5
fix(multiagent): count and log dropped MessageBus messages
Patel230 Jun 16, 2026
201fc6f
fix(multiagent): replace MessageBus busy-polling with channel signaling
Patel230 Jun 16, 2026
3a151d2
docs(engine): deprecate legacy Session fields, add SubServices accessor
Patel230 Jun 16, 2026
1df3e45
fix(permissions): brace-balanced Guardian LLM-response parser
Patel230 Jun 16, 2026
5eb5136
fix(permissions): allow-list by Unicode script in sanitizer
Patel230 Jun 16, 2026
f053502
fix(sandbox): default TierWorkspace denies process exec
Patel230 Jun 16, 2026
ddeafad
refactor(cmd): add ChatSubcommand registry as decomposition foundation
Patel230 Jun 16, 2026
f2e8337
test(testaudit): add legacy Session field access audit
Patel230 Jun 16, 2026
d56c9f7
refactor(cmd): migrate /branch to SubcommandRegistry pattern
Patel230 Jun 16, 2026
dbea30f
docs(hawk): mark fix-critical-and-high-review plan as complete
Patel230 Jun 16, 2026
5c972e0
refactor(cmd): migrate s.Permissions and s.Autonomy to PermSvc getters
Patel230 Jun 17, 2026
b8d6543
refactor(cmd): migrate s.Memory/s.YaadBridge/s.EnhancedMemory writes
Patel230 Jun 17, 2026
b5e7585
refactor(cmd): migrate s.PermissionFn/s.Mode/s.MaxTurns to PermSvc se…
Patel230 Jun 17, 2026
5281ad9
refactor(cmd): migrate H5 batch-2 of slash commands to SubcommandRegi…
Patel230 Jun 17, 2026
8b27bd6
refactor(cmd): migrate H5 batch-3 of slash commands
Patel230 Jun 17, 2026
0714223
refactor(cmd): wire handleCommand to SubcommandRegistry, drop migrate…
Patel230 Jun 17, 2026
b530a0f
refactor(cmd): migrate H5 batch-5 slash commands
Patel230 Jun 17, 2026
6c1f81e
refactor(cmd): migrate H5 batch-6 slash commands
Patel230 Jun 17, 2026
ee15873
refactor(cmd): remove batch-6 cases from chat_commands.go switch
Patel230 Jun 17, 2026
b7d2b5b
refactor(cmd): add chat_subcommand_simple.go with delegatingCommand
Patel230 Jun 17, 2026
f987dab
fix(cmd): prepend command name to handleCopy/handleMouse args
Patel230 Jun 17, 2026
0bbaf6b
refactor(cmd): remove batch-7 cases from chat_commands.go switch
Patel230 Jun 17, 2026
034190a
refactor(cmd): migrate H5 batch-8 slash commands (15 more)
Patel230 Jun 17, 2026
1dd0c83
refactor(cmd): migrate H5 batch-9 session-delegating commands
Patel230 Jun 17, 2026
68a3742
refactor(cmd): migrate H5 batch-10 inline-impl commands
Patel230 Jun 17, 2026
b9399fa
refactor(cmd): migrate H5 batch-11 final round of slash commands
Patel230 Jun 17, 2026
e1121ca
refactor(cmd): migrate H5 final /voice slash command
Patel230 Jun 17, 2026
a672cf5
feat(cmd): hard-fail meta-audit for cmd/ legacy access
Patel230 Jun 17, 2026
e9af2c8
refactor(cmd): migrate remaining options.go legacy access to setters
Patel230 Jun 17, 2026
c0dc0bb
refactor(cmd): complete H6 cmd/ migration (4 sites, 0 in options.go)
Patel230 Jun 17, 2026
f175eed
refactor(cmd): make /help dynamic from SubcommandRegistry
Patel230 Jun 17, 2026
772d698
refactor(cmd): remove empty switch, inline default case in handleCommand
Patel230 Jun 17, 2026
313d868
refactor(engine): bulk-migrate internal/engine/ legacy field access
Patel230 Jun 17, 2026
289a3fd
refactor(engine): complete H6 internal/engine/ migration
Patel230 Jun 17, 2026
8040825
fix(cmd): restore /diff handler to handleSessionCommand
Patel230 Jun 17, 2026
ed33a78
fix(cmd): register /run, /test, /lint, /snapshot in SubcommandRegistry
Patel230 Jun 17, 2026
6db98a7
fix(engine): sync ConvoDAG and alias sub-service fields at construction
Patel230 Jun 17, 2026
75180a7
fix(engine): restore data URL prefix in AddUserWithImage
Patel230 Jun 17, 2026
f1ea1f5
fix(permissions): add 10 major scripts to legitimateScriptTables
Patel230 Jun 17, 2026
ac2b262
fix(sandbox): plumb Tier through WrapCommand and SandboxConfig
Patel230 Jun 17, 2026
60bb13f
test(engine,cmd): regression guards for H2, H3, H4 fixes
Patel230 Jun 17, 2026
49b63fe
chore(ci): apply gofumpt formatting
Patel230 Jun 17, 2026
8b86a0f
fix(sandbox): move Tier type to platform-neutral file
Patel230 Jun 17, 2026
24399cf
docs(plans): wrap bare URL in angle brackets for markdownlint
Patel230 Jun 17, 2026
4d5426e
fix(sandbox): move DefaultHawkPolicy to platform-neutral file
Patel230 Jun 17, 2026
eb53510
chore(lint): fix golangci-lint findings now visible after sandbox bui…
Patel230 Jun 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions cmd/chat.go
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ func newChatModel(ref *progRef, systemPrompt string, settings hawkconfig.Setting
if home, err := os.UserHomeDir(); err == nil {
dagPath := filepath.Join(home, ".hawk", "sessions", "convo.db")
if dag, err := storage.NewDAG(dagPath, sid); err == nil {
sess.ConvoDAG = dag
sess.SetConvoDAG(dag)
}
}
startup.EndPhase("newChatModel:dag")
Expand Down Expand Up @@ -446,19 +446,19 @@ func newChatModel(ref *progRef, systemPrompt string, settings hawkconfig.Setting
(saved == nil || len(saved.Messages) == 0)

// Wire permission system
sess.PermissionFn = func(req engine.PermissionRequest) {
sess.PermSvc().SetPermissionFn(func(req engine.PermissionRequest) {
ref.Send(permissionAskMsg{req: req})
}
})

// High-risk action gate (network, destructive bash) — additive layer on top
// of the permission engine; falls back to AskUserFn for confirmation.
sess.Approval = &engine.ApprovalGate{
sess.SetApproval(&engine.ApprovalGate{
Enabled: true,
MaxAutoApprove: engine.AutonomySemi,
}
})

// Wire ask_user tool (5-minute timeout matches permission prompts).
sess.AskUserFn = func(question string) (string, error) {
sess.SetAskUserFn(func(question string) (string, error) {
resp := make(chan string, 1)
ref.Send(askUserMsg{question: question, response: resp})
select {
Expand All @@ -467,7 +467,7 @@ func newChatModel(ref *progRef, systemPrompt string, settings hawkconfig.Setting
case <-time.After(5 * time.Minute):
return "", fmt.Errorf("question timed out")
}
}
})

if saved != nil {
for _, sm := range saved.Messages {
Expand Down
Loading
Loading