forked from Rockachopa/Timmy-time-dashboard
42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
|
|
# DECISIONS.md — Architectural Decision Log
|
||
|
|
|
||
|
|
This file documents major architectural decisions and their rationale.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Decision: Dynamic Model Name in System Prompts
|
||
|
|
|
||
|
|
**Date:** 2026-02-26
|
||
|
|
|
||
|
|
**Context:** Timmy's system prompts hardcoded "llama3.2" but the actual model is "llama3.1:8b-instruct", causing confusion.
|
||
|
|
|
||
|
|
**Decision:** Make model name dynamic by:
|
||
|
|
- Using `{model_name}` placeholder in prompt templates
|
||
|
|
- Injecting actual value from `settings.ollama_model` at runtime via `get_system_prompt()`
|
||
|
|
|
||
|
|
**Rationale:** Single source of truth. If model changes in config, prompts reflect it automatically.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Decision: Unified Repo Root Detection
|
||
|
|
|
||
|
|
**Date:** 2026-02-26
|
||
|
|
|
||
|
|
**Context:** Multiple places in code detected repo root differently (git_tools.py, file_ops.py, timmy.py).
|
||
|
|
|
||
|
|
**Decision:** Add `repo_root` to config.py with auto-detection:
|
||
|
|
- Walk up from `__file__` to find `.git`
|
||
|
|
- Fall back to environment or current directory
|
||
|
|
|
||
|
|
**Rationale:** Consistent path resolution for all tools.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Add New Decisions Above This Line
|
||
|
|
|
||
|
|
When making significant architectural choices, document:
|
||
|
|
1. Date
|
||
|
|
2. Context (what problem prompted the decision)
|
||
|
|
3. Decision (what was chosen)
|
||
|
|
4. Rationale (why this approach was better than alternatives)
|