Add infrastructure changelog system to task-mcp

Implements session-aware infrastructure change tracking for CF-179.

Changes:
- New changelog.ts with 3 MCP tools:
  - changelog_add: Add infrastructure changes
  - changelog_since_session: Query changes since last session
  - changelog_list: Time-based fallback query
- Integrated with session-start command via MCP
- Database-first architecture (PostgreSQL on infra VM)
- Session-relative queries (not fixed time windows)

Database schema:
- infrastructure_changelog table (6 fields)
- Migrated 5 historical changes
- Indexes on date, session_id, created_at

Task: CF-179

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-01-17 12:13:24 +02:00
parent 8db391f680
commit cc88b234ae
3 changed files with 169 additions and 0 deletions

View File

@@ -389,6 +389,47 @@ export const toolDefinitions = [
},
},
// Infrastructure Changelog Tools
{
name: 'changelog_add',
description: 'Add infrastructure change entry for session awareness',
inputSchema: {
type: 'object',
properties: {
date: { type: 'string', description: 'Change date (YYYY-MM-DD)' },
title: { type: 'string', description: 'Short title (max 100 chars)' },
change_description: { type: 'string', description: 'What changed' },
impact: { type: 'string', description: 'Effects on existing infrastructure' },
actions_required: { type: 'string', description: 'Steps developers need to take (optional)' },
session_id: { type: 'string', description: 'Session that implemented change (optional)' },
task_ids: { type: 'array', items: { type: 'string' }, description: 'Related task IDs (optional)' },
},
required: ['date', 'title', 'change_description', 'impact'],
},
},
{
name: 'changelog_since_session',
description: 'Get infrastructure changes since last session for a project. Use at session start.',
inputSchema: {
type: 'object',
properties: {
project: { type: 'string', description: 'Project key (e.g., CF, VPN) to find last session' },
},
required: ['project'],
},
},
{
name: 'changelog_list',
description: 'List recent infrastructure changes by time period (fallback)',
inputSchema: {
type: 'object',
properties: {
days_back: { type: 'number', description: 'Days to look back (default: 7)' },
limit: { type: 'number', description: 'Max results (default: 20)' },
},
},
},
// Project Lock Tools
{
name: 'project_lock',