Evidence-based maturity assessment — what IS
Core vault reader, metadata extractor, and context builder. Solves AI memory limitation with minimal footprint. No API surface, no database, no UI.
Improved ranking, tag/title/heading boosting, cached note catalog, note summaries, better truncation and deduplication.
Admin-only API endpoints for search, context generation, and vault health. Internal route wiring with fail-closed auth.
Readiness scoring, metadata coverage, stale note detection, broken link checks, architecture domain coverage gaps.
Embeddings/vector search, database-backed index, advanced ranking, cross-platform AI knowledge service. Only if real usage proves need.
| Capability | Score | Weight | Status | Evidence Hint |
|---|---|---|---|---|
|
Vault Configuration & Path Guard
ObsidianConfig value object, VaultPathGuard security boundary, config/obsidian.php. Blocks path traversal, symlink escape, hidden dirs.
|
0
1
2
3
4
5
|
20 | Institutional | src/Support/Obsidian/ValueObject/ObsidianConfig.php, src/Support/Obsidian/Reader/VaultPathGuard.php, config/obsidian.php |
|
Markdown Note Reader
Recursive vault scanner with extension filter, size limits, hidden path exclusion. Safe file reading with error isolation.
|
0
1
2
3
4
5
|
20 | Institutional | src/Support/Obsidian/Reader/MarkdownNoteReader.php |
|
Markdown Metadata Extractor
YAML frontmatter parsing, heading extraction, tag extraction, wikilink extraction, domain/note_type inference. Deterministic rules, no AI.
|
0
1
2
3
4
5
|
20 | Institutional | src/Support/Obsidian/Parser/MarkdownMetadataExtractor.php |
|
AI Context Builder
Keyword search, title/tag/heading boosting, relevance scoring, budget-limited context assembly, render to plain text for AI prompts.
|
0
1
2
3
4
5
|
25 | Institutional | src/Support/Obsidian/Service/ObsidianContextBuilder.php |
|
Unit Test Coverage
43 tests covering path guard security, frontmatter parsing, tag/heading/wikilink extraction, domain inference, context building, ranking, budget enforcement.
|
0
1
2
3
4
5
|
15 | Institutional | tests/Unit/Support/Obsidian/ — 43 tests, 151 assertions, all passing |
| Capability | Score | Weight | Status | Evidence Hint |
|---|---|---|---|---|
|
Cached Note Catalog
In-memory or Redis-cached note metadata index with filemtime invalidation
|
0
1
2
3
4
5
|
25 | Missing | Deferred to Phase 2 |
|
Improved Ranking Algorithm
TF-IDF or BM25 scoring, configurable boost weights, note_type preference
|
0
1
2
3
4
5
|
25 | Missing | Deferred to Phase 2 |
|
Content Deduplication
Detect overlapping content between selected notes and remove redundancy
|
0
1
2
3
4
5
|
25 | Missing | Deferred to Phase 2 |
|
Note Summary Generation
Pre-computed summaries for faster context assembly and better extract quality
|
0
1
2
3
4
5
|
25 | Missing | Deferred to Phase 2 |
| Capability | Score | Weight | Status | Evidence Hint |
|---|---|---|---|---|
|
Search API Endpoint
GET /api/v1/obsidian/search?q=... — admin-only, keyword search with ranked results
|
0
1
2
3
4
5
|
35 | Missing | Deferred to Phase 3 |
|
Context Generation Endpoint
GET /api/v1/obsidian/context?task=... — returns context package as JSON
|
0
1
2
3
4
5
|
35 | Missing | Deferred to Phase 3 |
|
Vault Health Endpoint
GET /api/v1/obsidian/health — note count, parse failures, stale notes, missing metadata summary
|
0
1
2
3
4
5
|
30 | Missing | Deferred to Phase 3 |
| Capability | Score | Weight | Status | Evidence Hint |
|---|---|---|---|---|
|
Vault Readiness Scoring
Quality provider that scores vault health: metadata coverage, freshness, domain coverage, broken links
|
0
1
2
3
4
5
|
35 | Missing | Deferred to Phase 4 |
|
Broken Link Detection
Resolve wikilinks across vault, report unresolved references
|
0
1
2
3
4
5
|
30 | Missing | Deferred to Phase 4 |
|
Architecture Coverage Audit
Check critical domains (billing, iam, audit, orchestration, data, security) have architecture notes
|
0
1
2
3
4
5
|
35 | Missing | Deferred to Phase 4 |
| Capability | Score | Weight | Status | Evidence Hint |
|---|---|---|---|---|
|
Vector Embedding Pipeline
Generate embeddings for notes, store in pgvector or external vector DB, semantic search
|
0
1
2
3
4
5
|
35 | Missing | Deferred to Phase 5 — only if usage proves need |
|
Database-Backed Index
PostgreSQL-backed note catalog with incremental indexing and full-text search
|
0
1
2
3
4
5
|
35 | Missing | Deferred to Phase 5 |
|
Cross-Platform AI Knowledge Service
API-driven knowledge retrieval for multiple AI consumers beyond Claude
|
0
1
2
3
4
5
|
30 | Missing | Deferred to Phase 5 |