# 2026-02-25 ## 11:47 - Fix: Prevent duplicate POSTs when audit update fails after successful delivery in outbound-event-handler - **Type:** fix - **Tags:** esb-monorepo, tac, outbound-event-handler, error-handling, fix, cloud-functions, idempotency, duplicate-prevention ## 12:40 - Migrated from Docker MCP Gateway (LXC 303) back to local MCP servers - **Type:** decision - **Tags:** mcp, docker-mcp-gateway, claude-code, homelab, migration, claude-home ## 12:40 - Local Gitea MCP server setup via @boringstudio_org/gitea-mcp (npm stdio) - **Type:** configuration - **Tags:** gitea, mcp, claude-code, configuration, claude-home, npm ## 12:41 - [homelab] docs: remove decommissioned MCP Gateway (CT 303) from monitoring inventory - **Type:** fix - **Tags:** homelab, commit, configuration, debugging, tooling, session-log - **Memory:** [homelab-docs-remove-decommissioned-mcp-gateway-ct-303-from-m-1fbf3c](graph/fixes/homelab-docs-remove-decommissioned-mcp-gateway-ct-303-from-m-1fbf3c.md) - **Summary:** Commits made: 1 - docs: remove decommissioned MCP Gateway (CT 303) from monitoring ## 15:54 - [esb-monorepo] fix(tac): prevent duplicate POSTs when audit update fails after successful delivery - **Type:** fix - **Tags:** esb-monorepo, commit, debugging, fix, testing, session-log - **Memory:** [esb-monorepo-fixtac-prevent-duplicate-posts-when-audit-updat-f6afb3](graph/fixes/esb-monorepo-fixtac-prevent-duplicate-posts-when-audit-updat-f6afb3.md) - **Summary:** Commits made: 1 - fix(tac): prevent duplicate POSTs when audit update fails after successful ## 15:55 - Docker MCP Gateway deployed on LXC 303 (mcp-gateway, 10.10.0.231) - **Type:** configuration - **Tags:** docker, mcp, mcp-gateway, proxmox, homelab, lxc, configuration ## 15:55 - Docker Desktop upgraded 4.34.3 to 4.61.0 on Nobara desktop - **Type:** configuration - **Tags:** docker, docker-desktop, nobara, fedora, upgrade, homelab ## 16:26 - FullCard Migration: card_layout.py ported to card-creation repo - **Type:** decision - **Tags:** paper-dynasty, card-creation, card_layout, FullCard, CardColumn, migration, architecture - **Memory:** [fullcard-migration-card-layoutpy-ported-to-card-creation-rep-c76233](graph/decisions/fullcard-migration-card-layoutpy-ported-to-card-creation-rep-c76233.md) - **Summary:** ## Context\nOn branch feature/fullcard-migration, created ## 16:26 - Fix: Float/Decimal type mismatch in card builders (card-creation repo) - **Type:** fix - **Tags:** paper-dynasty, card-creation, card_builder, Decimal, float, TypeError, type-mismatch - **Memory:** [fix-floatdecimal-type-mismatch-in-card-builders-card-creatio-52e4aa](graph/fixes/fix-floatdecimal-type-mismatch-in-card-builders-card-creatio-52e4aa.md) - **Summary:** ## Problem\nWhen porting card builders from database (which uses Decimal throughout) to ## 16:26 - Pattern: Lazy import inside function body to break circular imports - **Type:** code_pattern - **Tags:** paper-dynasty, card-creation, card_builder, calcs_batter, circular_import, lazy_import, python - **Memory:** [pattern-lazy-import-inside-function-body-to-break-circular-i-d637ad](graph/code-patterns/pattern-lazy-import-inside-function-body-to-break-circular-i-d637ad.md) - **Summary:** ## Problem\nbatters/card_builder.py imports from batters/calcs_batter.py (needs ## 16:26 - Fix: PitchingCardRatingsModel xcheck defaults must be zeroed in new_ratings - **Type:** fix - **Tags:** paper-dynasty, card-creation, pitchers, card_builder, xcheck, PitchingCardRatingsModel, defaults, bug - **Memory:** [fix-pitchingcardratingsmodel-xcheck-defaults-must-be-zeroed-2d7046](graph/fixes/fix-pitchingcardratingsmodel-xcheck-defaults-must-be-zeroed-2d7046.md) - **Summary:** ## Problem\nPitchingCardRatingsModel has non-zero default values for xcheck fields:\n- ## 16:26 - FullCard migration: database-side schema + router changes - **Type:** decision - **Tags:** paper-dynasty, database, db_engine, battingcardratings, pitchingcardratings, migration, schema, routers_v2 - **Memory:** [fullcard-migration-database-side-schema-router-changes-09bb95](graph/decisions/fullcard-migration-database-side-schema-router-changes-09bb95.md) - **Summary:** ## Branch\nfeature/fullcard-migration in the database repo.\n\n## Files Updated\n\n### ## 16:40 - [homelab] Session: configuration, creation, debugging, deployment, fix, tooling - **Type:** fix - **Tags:** homelab, configuration, creation, debugging, deployment, fix, tooling, session-log - **Memory:** [homelab-session-configuration-creation-debugging-deployment-684494](graph/fixes/homelab-session-configuration-creation-debugging-deployment-684494.md) - **Summary:** Files edited (1): - /home/cal/.ssh/config Errors encountered (2): - Exit code 1 Network ## 16:44 - Break circular imports by extracting shared models to models.py - **Type:** solution - **Tags:** python, circular-imports, architecture, refactoring, paper-dynasty - **Memory:** [break-circular-imports-by-extracting-shared-models-to-models-b235f9](graph/solutions/break-circular-imports-by-extracting-shared-models-to-models-b235f9.md) - **Summary:** ## Problem\nTwo modules mutually importing from each other (A imports from B, B imports from A) ## 16:44 - When extracting a class, also move its module-level helper dependencies - **Type:** code_pattern - **Tags:** python, refactoring, code-organization, circular-imports, paper-dynasty - **Memory:** [when-extracting-a-class-also-move-its-module-level-helper-de-9c7873](graph/code-patterns/when-extracting-a-class-also-move-its-module-level-helper-de-9c7873.md) - **Summary:** ## Pattern\nWhen extracting a class to a new file, check if any module-level helper functions are ## 16:44 - No re-exports when refactoring imports — update call sites directly - **Type:** decision - **Tags:** python, refactoring, architecture, imports, paper-dynasty - **Memory:** [no-re-exports-when-refactoring-imports-update-call-sites-dir-30d490](graph/decisions/no-re-exports-when-refactoring-imports-update-call-sites-dir-30d490.md) - **Summary:** ## Decision\nWhen moving code to a new module location, do NOT add re-exports in the original file ## 17:12 - Gitea MCP server (official gitea/gitea-mcp v0.8.1) installed locally - **Type:** configuration - **Tags:** gitea, mcp, claude-code, configuration, claude-home ## 17:12 - Claude Code MCP user-scope config is ~/.claude.json, not ~/.claude/.mcp.json - **Type:** fix - **Tags:** claude-code, mcp, configuration, fix, claude-home ## 17:28 - [homelab] Session: automation, configuration, debugging, deployment, feature, fix, tooling - **Type:** fix - **Tags:** homelab, automation, configuration, debugging, deployment, feature, fix, tooling, session-log - **Memory:** [homelab-session-automation-configuration-debugging-deploymen-7ea48f](graph/fixes/homelab-session-automation-configuration-debugging-deploymen-7ea48f.md) - **Summary:** Files edited (1): - /home/cal/.claude/.mcp.json Errors encountered (5): - File does not exist. ## 19:00 - Migrated Gitea operations from tea CLI to gitea-mcp MCP server - **Type:** decision - **Tags:** gitea, mcp, claude-code, tea-cli, claude-configs, decision, tooling