Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
156 lines
5.7 KiB
Markdown
156 lines
5.7 KiB
Markdown
# Implementation Plan: Personal Knowledge Base
|
||
|
||
## Overview
|
||
|
||
File-based personal knowledge graph with YAML entity storage, a graph index, and four Kiro skills. TypeScript for validation logic and property-based tests (fast-check). File system is the database — no build step or server required.
|
||
|
||
Source of truth: `SPEC.md`
|
||
|
||
## Tasks
|
||
|
||
- [x] 1. Set up project structure and core configuration
|
||
- [x] 1.1 Create directory structure for the knowledge base
|
||
- [x] 1.2 Initialize TypeScript project for validation and testing
|
||
- [x] 1.3 Create README.md documenting the project
|
||
|
||
- [x] 2. Implement entity schemas, validation, and property tests
|
||
- [x] 2.1 Define TypeScript interfaces for all entity types
|
||
- `src/schemas/types.ts`
|
||
- _Requirements: 1.1, 1.2, 2.1_
|
||
|
||
- [x] 2.2 Implement entity validation functions
|
||
- `src/schemas/validate.ts`
|
||
- _Requirements: 1.3, 1.4, 9.2_
|
||
|
||
- [x] 2.3 Write schema property tests (Properties 1, 2, 3, 15)
|
||
- Single test file: `src/schemas/validate.test.ts`
|
||
- Property 1: Entity serialization round-trip
|
||
- Property 2: Entity schema validation (accepts valid, rejects invalid)
|
||
- Property 3: Temporal consistency (start ≤ end)
|
||
- Property 15: File naming convention (kebab-case)
|
||
- _Requirements: 1.1, 1.3, 1.4, 2.1, 8.2, 9.2_
|
||
|
||
- [x] 3. Implement YAML serialization and file I/O layer
|
||
- [x] 3.1 Create YAML serialization/deserialization utilities
|
||
- `src/io/yaml-utils.ts`
|
||
- _Requirements: 8.2, 2.1_
|
||
|
||
- [x] 3.2 Create entity file management functions
|
||
- `src/io/entity-files.ts`
|
||
- _Requirements: 9.2, 1.5_
|
||
|
||
- [x] 4. Implement graph index management and property tests
|
||
- [x] 4.1 Create graph index read/write logic
|
||
- `src/graph/index-manager.ts`
|
||
- _Requirements: 1.2, 9.4_
|
||
|
||
- [x] 4.2 Implement graph index rebuild from entity files
|
||
- Scan entity directories, rebuild `kb/graph-index.yaml`, detect broken references
|
||
- _Requirements: 1.2, 9.4_
|
||
|
||
- [x] 4.3 Write graph property tests (Properties 4, 5)
|
||
- Single test file: `src/graph/index-manager.test.ts`
|
||
- Property 4: Graph index consistency
|
||
- Property 5: Tandem entity integrity
|
||
- _Requirements: 1.2, 2.3, 2.4, 9.4_
|
||
|
||
- [x] 5. Checkpoint — run all tests, verify green
|
||
- `npm test`
|
||
|
||
- [x] 6. Implement interview-collect Kiro skill
|
||
- [x] 6.1 Create interview-collect SKILL.md
|
||
- `.kiro/skills/interview-collect/SKILL.md`
|
||
- _Requirements: 4.1, 4.2, 4.3, 4.4, 4.5, 9.3_
|
||
|
||
- [x] 6.2 Implement gap detection and conflict detection logic
|
||
- `src/interview/gap-detection.ts`
|
||
- `src/interview/conflict-detection.ts`
|
||
- _Requirements: 4.4, 4.5_
|
||
|
||
- [x] 6.3 Write interview property tests (Properties 6, 7, 8)
|
||
- Single test file: `src/interview/interview.test.ts`
|
||
- Property 6: Interview session question limit (≤ 10)
|
||
- Property 7: Gap detection completeness
|
||
- Property 8: Conflict detection
|
||
- _Requirements: 4.2, 4.4, 4.5_
|
||
|
||
- [x] 7. Implement cv-generate Kiro skill
|
||
- [x] 7.1 Create cv-generate SKILL.md and formatting reference
|
||
- `.kiro/skills/cv-generate/SKILL.md`
|
||
- `.kiro/skills/cv-generate/references/cv-formatting-guide.md`
|
||
- _Requirements: 5.1–5.6, 9.3_
|
||
|
||
- [x] 7.2 Implement relevance selection and tandem generation logic
|
||
- `src/cv/relevance-selection.ts`
|
||
- `src/cv/tandem-generator.ts`
|
||
- _Requirements: 5.1, 5.2, 5.3, 5.4_
|
||
|
||
- [x] 7.3 Create CV templates
|
||
- `templates/cv-individual.md`
|
||
- `templates/cv-tandem.md`
|
||
- _Requirements: 5.5_
|
||
|
||
- [x] 7.4 Write CV property tests (Properties 9, 10, 11)
|
||
- Single test file: `src/cv/cv.test.ts`
|
||
- Property 9: CV relevance selection ordering
|
||
- Property 10: Tandem application document set (exactly 3 docs)
|
||
- Property 11: CV output validity and traceability
|
||
- _Requirements: 5.1–5.6_
|
||
|
||
- [x] 8. Implement talk-intro Kiro skill
|
||
- [x] 8.1 Create talk-intro SKILL.md and template
|
||
- `.kiro/skills/talk-intro/SKILL.md`
|
||
- `templates/intro-speaker.md`
|
||
- _Requirements: 6.1, 6.2, 6.3, 9.3_
|
||
|
||
- [x] 8.2 Implement introduction generation logic
|
||
- `src/intro/intro-generator.ts`
|
||
- _Requirements: 6.1, 6.2, 6.3_
|
||
|
||
- [x] 8.3 Write intro property test (Property 12)
|
||
- Single test file: `src/intro/intro.test.ts`
|
||
- Property 12: Introduction length variants (short < medium < long)
|
||
- _Requirements: 6.2_
|
||
|
||
- [x] 9. Implement kb-review Kiro skill
|
||
- [x] 9.1 Create kb-review SKILL.md
|
||
- `.kiro/skills/kb-review/SKILL.md`
|
||
- _Requirements: 7.1, 7.2, 7.3, 7.4, 9.3_
|
||
|
||
- [x] 9.2 Implement completeness scoring and prioritization logic
|
||
- `src/review/completeness-score.ts`
|
||
- `src/review/prioritization.ts`
|
||
- _Requirements: 7.2, 7.3_
|
||
|
||
- [x] 9.3 Write review property tests (Properties 13, 14)
|
||
- Single test file: `src/review/review.test.ts`
|
||
- Property 13: Completeness score calculation
|
||
- Property 14: Review prioritization ordering
|
||
- _Requirements: 7.2, 7.3_
|
||
|
||
- [x] 10. Checkpoint — run all tests, verify green
|
||
- `npm test`
|
||
|
||
- [x] 11. Wire everything together
|
||
- [x] 11.1 Create KB conventions steering file
|
||
- `.kiro/steering/kb-conventions.md`
|
||
- _Requirements: 9.2, 9.4_
|
||
|
||
- [x] 11.2 Create seed data (graph-index.yaml + profile stub)
|
||
- `kb/graph-index.yaml` (empty)
|
||
- `kb/profiles/andre-knie.yaml` (minimal valid profile)
|
||
- _Requirements: 1.5, 9.1_
|
||
|
||
- [x] 11.3 Wire skills to reference shared validation logic
|
||
- _Requirements: 9.3_
|
||
|
||
- [x] 12. Final checkpoint — run all tests, verify green
|
||
- `npm test`
|
||
|
||
## Notes
|
||
|
||
- Property tests consolidated into per-module test files (fewer files, same coverage)
|
||
- SPEC.md is the source of truth; README.md is user-facing documentation
|
||
- Seed data (11.2) runs after validation logic exists so it can be validated
|
||
- AGENTS.md git workflow (branch, PR) applies at commit time
|