<feed xmlns='http://www.w3.org/2005/Atom'>
<title>doot.git/CLAUDE.md, branch master</title>
<subtitle>doot — personal productivity web app
</subtitle>
<id>https://git.terst.org/doot.git/atom?h=master</id>
<link rel='self' href='https://git.terst.org/doot.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/'/>
<updated>2026-03-22T23:45:19+00:00</updated>
<entry>
<title>chore: unify and centralize agent configuration in .agent/</title>
<updated>2026-03-22T23:45:19+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-22T23:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=8abc63efdbc0bb96cd6c9aa99d6e9166e0bcabae'/>
<id>urn:sha1:8abc63efdbc0bb96cd6c9aa99d6e9166e0bcabae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: migrate deploy + ops scripts from SSH to local execution</title>
<updated>2026-03-16T08:53:44+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-16T08:53:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=7d627d16cd4bb88e625291dff4cc886c68dbf785'/>
<id>urn:sha1:7d627d16cd4bb88e625291dff4cc886c68dbf785</id>
<content type='text'>
Replace SSH-based deploy.sh with scripts/deploy that runs locally on the
server. Update scripts/bugs, scripts/logs, and scripts/resolve-bug to drop
SSH wrappers. Update CLAUDE.md and DESIGN.md to reflect new local workflow.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>chore: move role definitions to ~/.claude/roles, trim CLAUDE.md and DESIGN.md</title>
<updated>2026-03-04T21:12:37+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-04T21:12:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=4853a4a917bb7942776ffd8b3e003ee03fc49160'/>
<id>urn:sha1:4853a4a917bb7942776ffd8b3e003ee03fc49160</id>
<content type='text'>
Role prompts extracted to ~/.claude/roles/ (project-agnostic).
CLAUDE.md slimmed from 87→72 lines, references global methodology.
DESIGN.md trimmed ~200 lines of duplicated workflow content.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add self-improvement cycles to all role definitions</title>
<updated>2026-02-08T07:25:57+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-02-08T07:24:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=44fa97ce901bbfc5957e6d9ba90a53086bb5950b'/>
<id>urn:sha1:44fa97ce901bbfc5957e6d9ba90a53086bb5950b</id>
<content type='text'>
Each role now has a structured post-task cycle: reflect on specific
questions, perform 1-3 concrete improvements (test helpers, scripts,
checklists, docs, role definitions), and record changes in SESSION_STATE.

Updated CLAUDE.md and DESIGN.md to reference the cycle in the
multi-agent workflow documentation.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Update project docs: fix stale references, add missing sections</title>
<updated>2026-02-08T07:21:53+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-02-08T07:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=82c2f701823e19e375a8c854181a763a96620234'/>
<id>urn:sha1:82c2f701823e19e375a8c854181a763a96620234</id>
<content type='text'>
- CLAUDE.md: fix data sources, add debugging/deploy sections, test checklist
- DESIGN.md: update directory tree, fix h.templates→h.renderer, add endpoints/env vars
- Role files: fix Go version to 1.24, update tool names to Edit/Read/Glob
- scripts/logs: fix CRLF line endings for WSL compatibility

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix timeline task completion replacing view, fix passkey registration CSRF</title>
<updated>2026-02-07T23:47:13+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-02-07T23:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=0620afc98fdc0f764e82807bb0090b78618ddb1d'/>
<id>urn:sha1:0620afc98fdc0f764e82807bb0090b78618ddb1d</id>
<content type='text'>
- Fix checkboxes in timeline calendar grid targeting #tab-content (replaced
  entire view). Now target closest .untimed-item/.calendar-event with outerHTML
- Fix passkey registration 403 by passing CSRFToken from settings handler
  and exposing it via meta tag for JS to read
- Add TDD workflow requirement to CLAUDE.md
- Tests written first (red-green): template content assertions for checkbox
  targets and CSRF token presence, handler data struct verification

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Document multi-agent workflow, ADRs, and Agent API</title>
<updated>2026-02-05T20:37:09+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-02-05T20:37:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=223c94f52ebaa878f6951ebf7d08754e413bdca7'/>
<id>urn:sha1:223c94f52ebaa878f6951ebf7d08754e413bdca7</id>
<content type='text'>
- Add Development Workflow section to DESIGN.md documenting three-role
  system (Architect, Implementor, Reviewer) with handoff documents
- Update CLAUDE.md with Key Documents section pointing to DESIGN.md,
  role definitions, and ADRs
- Add ADR-first documentation policy across all role definitions
- Update REVIEWER_ROLE.md with comprehensive test quality checklist
- Document Agent API and completed tasks log in DESIGN.md
- Update database schema table with 5 missing tables
- Update endpoint reference with 10 missing routes
- Create ADRs 002-005 capturing key architectural decisions:
  - 002: Timeline aggregation architecture
  - 003: HTMX write operations pattern
  - 004: Concurrent data fetching with graceful degradation
  - 005: Agent API notification-based authentication
- Add migrations/README.md documenting schema history and 007 gap

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Remove obsolete AI endpoint reference from documentation</title>
<updated>2026-01-12T23:45:38+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-01-12T23:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=6a899485b079ab96b71a2c2c7ed8a61302680f38'/>
<id>urn:sha1:6a899485b079ab96b71a2c2c7ed8a61302680f38</id>
<content type='text'>
Cleaned up CLAUDE.md by removing the AI Endpoint line from the
Technical Context section. Updated SESSION_STATE.md to track this
final documentation cleanup.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Remove AI agent middleware and snapshot endpoint</title>
<updated>2026-01-12T23:43:07+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-01-12T23:43:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=1d47891d0097c10920ab5706b54c847024ec8f29'/>
<id>urn:sha1:1d47891d0097c10920ab5706b54c847024ec8f29</id>
<content type='text'>
Simplified the dashboard by removing the AI agent access layer:
- Deleted internal/middleware/ai_auth.go and tests
- Removed AIAgentAPIKey from config.Config
- Removed /api/claude/snapshot endpoint registration
- Updated SESSION_STATE.md and CLAUDE.md documentation
- All tests passing after cleanup

Dashboard is now human-facing only without the AI agent endpoint.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Initial commit: Personal Consolidation Dashboard (Phase 1 Complete)</title>
<updated>2026-01-12T19:27:16+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-01-12T19:27:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=9fe0998436488537a8a2e8ffeefb0c4424b41c60'/>
<id>urn:sha1:9fe0998436488537a8a2e8ffeefb0c4424b41c60</id>
<content type='text'>
Implemented a unified web dashboard aggregating tasks, notes, and meal planning:

Core Features:
- Trello integration (PRIMARY feature - boards, cards, lists)
- Todoist integration (tasks and projects)
- Obsidian integration (20 most recent notes)
- PlanToEat integration (optional - 7-day meal planning)
- Mobile-responsive web UI with auto-refresh (5 min)
- SQLite caching with 5-minute TTL
- AI agent endpoint with Bearer token authentication

Technical Implementation:
- Go 1.21+ backend with chi router
- Interface-based API client design for testability
- Parallel data fetching with goroutines
- Graceful degradation (partial data on API failures)
- .env file loading with godotenv
- Comprehensive test coverage (9/9 tests passing)

Bug Fixes:
- Fixed .env file not being loaded at startup
- Fixed nil pointer dereference with optional API clients (typed nil interface gotcha)

Documentation:
- START_HERE.md - Quick 5-minute setup guide
- QUICKSTART.md - Fast track setup
- SETUP_GUIDE.md - Detailed step-by-step instructions
- PROJECT_SUMMARY.md - Complete project overview
- CLAUDE.md - Guide for Claude Code instances
- AI_AGENT_ACCESS.md - AI agent design document
- AI_AGENT_SETUP.md - Claude.ai integration guide
- TRELLO_AUTH_UPDATE.md - New Power-Up auth process

Statistics:
- Binary: 17MB
- Code: 2,667 lines
- Tests: 5 unit + 4 acceptance tests (all passing)
- Dependencies: chi, sqlite3, godotenv

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
