This repository has been archived on 2026-03-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Timmy-time-dashboard/DECISIONS.md
Alexander Whitestone 18ed6232f9 feat: Timmy fixes and improvements (#72)
* test: remove hardcoded sleeps, add pytest-timeout

- Replace fixed time.sleep() calls with intelligent polling or WebDriverWait
- Add pytest-timeout dependency and --timeout=30 to prevent hangs
- Fixes test flakiness and improves test suite speed

* feat: add Aider AI tool to Forge's toolkit

- Add Aider tool that calls local Ollama (qwen2.5:14b) for AI coding assist
- Register tool in Forge's code toolkit
- Add functional tests for the Aider tool

* config: add opencode.json with local Ollama provider for sovereign AI

* feat: Timmy fixes and improvements

## Bug Fixes
- Fix read_file path resolution: add ~ expansion, proper relative path handling
- Add repo_root to config.py with auto-detection from .git location
- Fix hardcoded llama3.2 - now dynamic from settings.ollama_model

## Timmy's Requests
- Add communication protocol to AGENTS.md (read context first, explain changes)
- Create DECISIONS.md for architectural decision documentation
- Add reasoning guidance to system prompts (step-by-step, state uncertainty)
- Update tests to reflect correct model name (llama3.1:8b-instruct)

## Testing
- All 177 dashboard tests pass
- All 32 prompt/tool tests pass

---------

Co-authored-by: Alexander Payne <apayne@MM.local>
2026-02-26 23:39:13 -05:00

1.2 KiB

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)