Skip to content

Commit 2e36266

Browse files
Merge master into develop: resolve conflict, update submodule refs to main
2 parents c174fdc + 88d4716 commit 2e36266

7 files changed

Lines changed: 1946 additions & 8 deletions

.claude/settings.local.json

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,21 @@
77
"Bash(git commit -m \"Add brief EasyCaching mention to 2.1 clean architecture article\")",
88
"Bash(git push)",
99
"Bash(gh pr:*)",
10-
"Bash(node -e \"console.log\\(require\\('c:/apps/AngularNetTutotial/node_modules/playwright/package.json'\\).version\\)\")",
11-
"Bash(node -e \"console.log\\(require\\('c:/apps/AngularNetTutotial/Tests/AngularNetTutorial-Playwright/node_modules/playwright/package.json'\\).version\\)\")",
10+
"Bash(node -e \"console.log\(require\('c:/apps/AngularNetTutotial/node_modules/playwright/package.json'\).version\)\")",
11+
"Bash(node -e \"console.log\(require\('c:/apps/AngularNetTutotial/Tests/AngularNetTutorial-Playwright/node_modules/playwright/package.json'\).version\)\")",
1212
"Bash(npx playwright:*)",
1313
"Bash(npm show:*)",
1414
"Bash(npm install:*)",
1515
"Bash(powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"Get-Content 'c:/apps/AngularNetTutotial/Tests/AngularNetTutorial-Playwright/scripts/speak.ps1' | Select-Object -First 10\")",
1616
"Bash(powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"c:/apps/AngularNetTutotial/Tests/AngularNetTutorial-Playwright/scripts/speak.ps1\" -Text \"Test audio.\" -OutputPath \"c:/apps/AngularNetTutotial/Tests/AngularNetTutorial-Playwright/scripts/test.wav\")",
17-
"Bash(node -e \"const p = require\\('c:/apps/AngularNetTutotial/node_modules/@playwright/test/package.json'\\); console.log\\(JSON.stringify\\(p.dependencies, null, 2\\)\\)\")",
18-
"Bash(xargs grep:*)"
17+
"Bash(node -e \"const p = require\('c:/apps/AngularNetTutotial/node_modules/@playwright/test/package.json'\); console.log\(JSON.stringify\(p.dependencies, null, 2\)\)\")",
18+
"Bash(xargs grep:*)",
19+
"Bash(npx ng:*)",
20+
"Bash(gh pr create --title '6.3 Angular AI Chat Widget: AiService, AiChatComponent, route, and menu' --body ':*)",
21+
"Bash(gh pr create --title '6.3 Angular AI Chat Widget: blog article and Clients submodule ref' --body ':*)",
22+
"mcp__MCP_DOCKER__list_directory",
23+
"mcp__MCP_DOCKER__read_file",
24+
"Bash(gh pr edit 4 --title '6.5 + 6.6 Natural language search and AI response caching' --body ':*)"
1925
],
2026
"deny": [],
2127
"ask": []

blogs/AI-ENHANCEMENT-SERIES-PLAN.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ All Series 6 code merges into `develop` via feature branches. `AiEnabled` defaul
6464
* Code: `AiVectorSearchComponent` — debounce → vector search API, score badge, results table
6565
* **6.6**`6.6-dotnet-ai-response-caching.md` — Cache Your AI Responses: Save Time and API Costs
6666
* Code: EasyCaching cache-aside in `OllamaAiService`, `X-AI-Cache` response header
67+
* **6.7**`6.7-dotnet-mssql-vector-search.md` — Semantic Employee Search with MSSQL 2025 Native Vector Search
68+
* Code: `vector(768)` column on Employee entity, `IEmbeddingService`/`OllamaEmbeddingService`, `SemanticSearchQuery` MediatR handler using `VECTOR_DISTANCE`, `POST /api/v1/employees/semantic-search` endpoint, Angular semantic search tab on employee list
6769

6870
---
6971

@@ -96,6 +98,7 @@ All Series 6 code merges into `develop` via feature branches. `AiEnabled` defaul
9698
* **6.4** — Parent: `feature/6.4-angular-ai-dashboard-insights` | Clients: `feature/6.4-angular-ai-dashboard-insights`
9799
* **6.5** — Parent: `feature/6.5-natural-language-search` | ApiResources + Clients: `feature/6.5-natural-language-search`
98100
* **6.6** — Parent: `feature/6.6-ai-response-caching` | ApiResources: `feature/6.6-ai-response-caching`
101+
* **6.7** — Parent: `feature/6.7-mssql-vector-search` | ApiResources + Clients: `feature/6.7-mssql-vector-search`
99102
* **7.1–7.4** — Parent only (blog articles, no submodule code changes)
100103

101104
### Gitflow Steps Per Article (with submodule code)
@@ -206,7 +209,7 @@ git push --set-upstream origin feature/[N.N]-[slug]
206209

207210
- [ ] **6.5 — Natural Language Search**
208211
- [ ] `git checkout -b feature/6.5-natural-language-search` in ApiResources + Clients + parent
209-
- [ ] Write article draft (`6.5-dotnet-natural-language-search.md`)
212+
- [x] Write article draft (`6.5-dotnet-natural-language-search.md`)
210213
- [ ] .NET: Create `NlSearchQuery` MediatR handler (LLM → structured filter)
211214
- [ ] Angular: Add NL search bar above employee table
212215
- [ ] Screenshot: NL query → filtered employee list → `docs/images/ai/`
@@ -222,6 +225,23 @@ git push --set-upstream origin feature/[N.N]-[slug]
222225
- [ ] Commit + push feature branches
223226
- [ ] Open PRs: ApiResources + Parent → `develop`
224227

228+
- [ ] **6.7 — Semantic Search with MSSQL 2025 Vector Search**
229+
- [ ] `git checkout -b feature/6.7-mssql-vector-search` in ApiResources + Clients + parent
230+
- [ ] Write article draft (`6.7-dotnet-mssql-vector-search.md`)
231+
- [ ] .NET: Add `SearchEmbedding vector(768)` column to Employee entity + EF migration
232+
- [ ] .NET: Create `Application/Interfaces/IEmbeddingService.cs`
233+
- [ ] .NET: Create `Infrastructure.Shared/Services/OllamaEmbeddingService.cs` (calls `nomic-embed-text` via Ollama `/api/embeddings`)
234+
- [ ] .NET: Create `Application/Features/Employees/Queries/SemanticSearch/SemanticSearchQuery.cs` (MediatR)
235+
- [ ] .NET: Create `SemanticSearchQueryHandler.cs` — embed query → `VECTOR_DISTANCE` raw SQL → ranked results
236+
- [ ] .NET: Add `POST /api/v1/employees/semantic-search` endpoint to `EmployeesController`
237+
- [ ] .NET: Seed/backfill embeddings for existing employee seed data
238+
- [ ] Angular: Add `semanticSearch()` method to `ai.service.ts`
239+
- [ ] Angular: Add semantic search tab/toggle on employee list (alongside existing NL search bar)
240+
- [ ] Add `VectorSearchEnabled` feature flag to `appsettings.json` and `environment.ts`
241+
- [ ] Screenshot: Semantic search results vs keyword results → `docs/images/ai/`
242+
- [ ] Commit + push all feature branches
243+
- [ ] Open PRs: ApiResources + Clients + Parent → `develop`
244+
225245
### Phase 4: Series 7 — Developer Productivity (parent repo only)
226246

227247
- [ ] **7.1 — Claude Code Workflow**
@@ -254,7 +274,8 @@ git push --set-upstream origin feature/[N.N]-[slug]
254274
4. 6.4 — dashboard insights (builds on 6.2 + existing dashboard)
255275
5. 6.5 — NL search (builds on 6.1 + existing employee list)
256276
6. 6.6 — AI caching (builds on 6.1 + EasyCaching from article 2.5)
257-
7. 7.1–7.4 — independent, any order
277+
7. 6.7 — MSSQL 2025 vector search (builds on 6.5 — contrasts LLM translator with semantic similarity; requires SQL Server 2025 CTP or later)
278+
8. 7.1–7.4 — independent, any order
258279

259280
---
260281

0 commit comments

Comments
 (0)