{"@attributes":{"version":"2.0"},"channel":{"title":"Ivan Magda","description":"Writing about AI agents and software development.","link":"https:\/\/ivanmagda.dev\/","language":"en","item":[{"title":"Building a Coding Agent in Swift, Part 8: Background Tasks","link":"https:\/\/ivanmagda.dev\/posts\/s08-background-tasks\/","guid":"https:\/\/ivanmagda.dev\/posts\/s08-background-tasks\/","description":"Swift actors for background execution \u2014 the one type that truly needs an actor, with notification injection before each API call.","pubDate":"Wed, 18 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]},{"title":"Building a Coding Agent in Swift, Part 7: Task System","link":"https:\/\/ivanmagda.dev\/posts\/s07-task-system\/","guid":"https:\/\/ivanmagda.dev\/posts\/s07-task-system\/","description":"A file-based task DAG with dependency resolution \u2014 durable planning that survives context compaction.","pubDate":"Tue, 17 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]},{"title":"Building a Coding Agent in Swift, Part 6: Context Compaction","link":"https:\/\/ivanmagda.dev\/posts\/s06-context-compaction\/","guid":"https:\/\/ivanmagda.dev\/posts\/s06-context-compaction\/","description":"A three-layer compression strategy \u2014 micro-compaction, auto-compaction, and manual compaction \u2014 for infinite conversations.","pubDate":"Mon, 16 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]},{"title":"Building a Coding Agent in Swift, Part 5: Skill Loading","link":"https:\/\/ivanmagda.dev\/posts\/s05-skill-loading\/","guid":"https:\/\/ivanmagda.dev\/posts\/s05-skill-loading\/","description":"Two-layer knowledge injection \u2014 cheap awareness in the system prompt, full skill bodies loaded on demand via tool results.","pubDate":"Sun, 15 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]},{"title":"Building a Coding Agent in Swift, Part 4: Subagents","link":"https:\/\/ivanmagda.dev\/posts\/s04-subagents\/","guid":"https:\/\/ivanmagda.dev\/posts\/s04-subagents\/","description":"Context isolation through recursive agent loops \u2014 spawning child agents with restricted tool sets for focused subtasks.","pubDate":"Sat, 14 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]},{"title":"Building a Coding Agent in Swift, Part 3: Self-Managed Task Tracking","link":"https:\/\/ivanmagda.dev\/posts\/s03-self-managed-task-tracking\/","guid":"https:\/\/ivanmagda.dev\/posts\/s03-self-managed-task-tracking\/","description":"A Codable todo system with validation constraints and nag reminders \u2014 giving the agent a structured notepad it writes for itself.","pubDate":"Fri, 13 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]},{"title":"Building a Coding Agent in Swift, Part 2: Tool Dispatch","link":"https:\/\/ivanmagda.dev\/posts\/s02-tool-dispatch\/","guid":"https:\/\/ivanmagda.dev\/posts\/s02-tool-dispatch\/","description":"Dictionary-based tool dispatch, path sandboxing, and the read\/write\/edit file tools that let the agent work with code.","pubDate":"Thu, 12 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]},{"title":"Building a Coding Agent in Swift, Part 1: The Agent Loop","link":"https:\/\/ivanmagda.dev\/posts\/s01-the-agent-loop\/","guid":"https:\/\/ivanmagda.dev\/posts\/s01-the-agent-loop\/","description":"The agent loop that drives everything \u2014 how a single stopReason check turns an API client into an autonomous agent.","pubDate":"Wed, 11 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]},{"title":"Building a Coding Agent in Swift, Part 0: Bootstrapping the Project","link":"https:\/\/ivanmagda.dev\/posts\/s00-bootstrapping-the-project\/","guid":"https:\/\/ivanmagda.dev\/posts\/s00-bootstrapping-the-project\/","description":"Setting up a two-target SPM package, strict concurrency, and AsyncHTTPClient \u2014 the foundation for a CLI agent that never needs restructuring.","pubDate":"Tue, 10 Mar 2026 10:00:00 GMT","category":["swift","coding-agents","swift-claude-code"]}]}}