Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
3763dce
feat: add pre hook - intent validation & scope inforcement
yosef-zewdu Feb 18, 2026
2b7c7c0
feat: add post hook - trace logging
yosef-zewdu Feb 18, 2026
fe1c002
feat: add hook engine & hook context files
yosef-zewdu Feb 18, 2026
ef18a03
feat: Add orchestration files for intent management
yosef-zewdu Feb 18, 2026
c35a2bb
feat: Add Intent Protocol section for pompt & update system prompt
yosef-zewdu Feb 18, 2026
a45dd50
updated active intent, & intent map
yosef-zewdu Feb 18, 2026
fe8e83b
feat: Add IntentValidationHook to enforce active intent selection for…
yosef-zewdu Feb 20, 2026
4b3c235
feat: Implement ScopeEnforcementHook to restrict file modifications t…
yosef-zewdu Feb 20, 2026
af06c88
feat: Add TraceLoggingHook to log intent-driven changes
yosef-zewdu Feb 20, 2026
fe7975a
feat: Refactor hook types to include HookResponse and HookContext int…
yosef-zewdu Feb 20, 2026
8c97f57
feat: Enhance HookEngine with pre and post hook registration and exec…
yosef-zewdu Feb 20, 2026
c1991d4
feat: Introduce SelectActiveIntentTool for managing active intent sel…
yosef-zewdu Feb 20, 2026
6cdd91f
feat: Add select_active_intent tool for loading specific intent context
yosef-zewdu Feb 20, 2026
4f47455
feat: Implement IntentController for managing active intents and file…
yosef-zewdu Feb 20, 2026
a17ef63
feat: Integrate intent management into assistant message processing
yosef-zewdu Feb 20, 2026
33a3bbb
feat: Add intent_id parameter and update tool definitions for select_…
yosef-zewdu Feb 20, 2026
8d6d2f9
refactor: Remove deprecated files & update active_intents.yaml and in…
yosef-zewdu Feb 21, 2026
840685f
feat: Enhance IntentController with active intent management, includi…
yosef-zewdu Feb 21, 2026
731241e
refactor: Update intent protocol and hooks for improved active intent…
yosef-zewdu Feb 21, 2026
76bde5c
feat: Enhance TraceLoggingHook to log mutating actions with detailed …
yosef-zewdu Feb 21, 2026
47b8b78
feat: Implement ConcurrencyPreHook and ConcurrencyPostHook for optimi…
yosef-zewdu Feb 21, 2026
25f2fe1
feat: Add RecordLessonTool for recording lessons learned and update t…
yosef-zewdu Feb 21, 2026
4b05ef4
feat: enhance NativeToolCallParser with additional cases for lesson r…
yosef-zewdu Feb 21, 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
35 changes: 35 additions & 0 deletions .orchestration/active_intents.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
active_intents:
- id: INT-001
name: testing PRD
description: testing PRD
status: IN_PROGRESS
owned_scope:
- /tests
constraints: []
acceptance_criteria: []
- id: INT-002
name: project dependencies
description: Updating project dependencies
status: CREATED
owned_scope:
- requirements.txt
- pyproject.toml
constraints: []
acceptance_criteria: []
- id: INT-003
name: project documentation
description: Updating project documentation
status: IN_PROGRESS
owned_scope:
- README.md
constraints: []
acceptance_criteria: []
- id: INT-004
name: project bot
description: Updating project bot
status: CREATED
owned_scope:
- bot.py
constraints: []
acceptance_criteria: []
last_updated: 2026-02-21T19:01:30.984Z
57 changes: 57 additions & 0 deletions .orchestration/agent_trace.jsonl

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions .orchestration/intent_map.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
intents:

- id: "INT-001"
name: "testing skills"
description: "testing skills"
owned_scope: ["/tests/"]
- id: "INT-002"
name: "project dependencies"
description: "Updating project dependencies"
owned_scope: ["requirements.txt", "pyproject.toml"]
- id: "INT-003"
name: "project documentation"
description: "create or update project documentation"
owned_scope: ["README.md"]
2 changes: 2 additions & 0 deletions packages/types/src/tool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ export const toolNames = [
"run_slash_command",
"skill",
"generate_image",
"select_active_intent",
"record_lesson_learned",
"custom_tool",
] as const

Expand Down
3 changes: 3 additions & 0 deletions refactor_test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
function test() {
console.log("Original content")
}
52 changes: 52 additions & 0 deletions src/core/assistant-message/NativeToolCallParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -636,6 +636,42 @@ export class NativeToolCallParser {
}
break

case "select_active_intent":
if (partialArgs.intent_id !== undefined) {
nativeArgs = {
intent_id: partialArgs.intent_id,
}
}
break

case "record_lesson_learned":
if (partialArgs.lesson !== undefined) {
nativeArgs = {
lesson: partialArgs.lesson,
}
}
break

case "access_mcp_resource":
if (partialArgs.server_name !== undefined || partialArgs.uri !== undefined) {
nativeArgs = {
server_name: partialArgs.server_name,
uri: partialArgs.uri,
}
}
break

case "read_command_output":
if (partialArgs.artifact_id !== undefined) {
nativeArgs = {
artifact_id: partialArgs.artifact_id,
search: partialArgs.search,
offset: this.coerceOptionalNumber(partialArgs.offset),
limit: this.coerceOptionalNumber(partialArgs.limit),
}
}
break

default:
break
}
Expand Down Expand Up @@ -965,6 +1001,14 @@ export class NativeToolCallParser {
}
break

case "record_lesson_learned":
if (args.lesson !== undefined) {
nativeArgs = {
lesson: args.lesson,
} as NativeArgsFor<TName>
}
break

case "list_files":
if (args.path !== undefined) {
nativeArgs = {
Expand All @@ -984,6 +1028,14 @@ export class NativeToolCallParser {
}
break

case "select_active_intent":
if (args.intent_id !== undefined) {
nativeArgs = {
intent_id: args.intent_id,
} as NativeArgsFor<TName>
}
break

default:
if (customToolRegistry.has(resolvedName)) {
nativeArgs = args as NativeArgsFor<TName>
Expand Down
Loading
Loading