GADGET CODE v1.0.1
NAME: Liberation
HASH: ff46c35d38e29be64d9eca0ccc18e8a7f5c3d8ab
TAG: v1.0.1

SUMMARY:

Today marks the Liberation of Gadget Code — the first public release of a self-hosted agentic engineering platform that puts you in control of your code, your models, and your infrastructure.

Over 200 commits spanning 21 days of intensive development, Gadget Code has grown from an initial commit into a complete platform for autonomous software engineering. And every line of it is Apache-2.0 licensed, fully open source, and designed to run on *your* terms.

## What Is Gadget Code?

Gadget Code is an **Agentic Engineering Platform (AEP)** — a browser-based IDE that drives autonomous AI agents to perform real software engineering work on your behalf. Unlike cloud-locked alternatives, Gadget Code runs entirely in your environment: your servers, your data, your rules.

The architecture is straightforward and powerful:

```
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  Browser IDE │────▶│  gadget-code │────▶│ gadget-drone │
│  (React 19)  │◀────│ (Express 5)  │◀────│  (Worker)    │
└──────────────┘     └──────────────┘     └──────────────┘
       │                    │                      │
       │ Socket.IO          │ MongoDB              │ Files
       │ JWT Auth           │ Redis                │ Git
```

A user creates a project in the browser IDE, selects a drone instance, enters a prompt, and the drone executes the Agentic Workflow Loop — thinking, responding, calling tools, spawning subagents — all streamed back in real time.

## Your Models, Your Way

This is what Liberation means. Gadget Code ships with first-class support for **Ollama** and any **OpenAI-compatible API**. Run local models on your own GPU. Self-host an inference endpoint behind your firewall. Use a commercial provider when it suits you. Mix and match per session. The `@gadget/ai` package provides a unified abstraction — no consumer code ever imports an SDK directly. Swap providers without changing a line of application logic.

The model configuration pipeline supports `numCtx` (context window), `numPredict`, and `maxCompletionTokens` settings, giving you fine-grained control over how your models behave.

## Complete Agentic Engineering Platform

Gadget Code isn't a chatbot wrapper. It's a full-stack engineering environment:

- **Project Manager** — Create projects, select available drone instances, manage chat session history.
- **Chat Session View** — Real-time streaming responses with collapsible thinking content, tool call summaries, session statistics, and per-session model/mode selection.
- **Agentic Workflow Loop** — The drone executes a multi-turn reasoning loop: think, respond, call tools, observe results, and iterate. Work orders are abortable, and the loop supports checkpointing for crash recovery.
- **Subagent Processing** — Agents can spawn specialized subagents for decomposition tasks. Subagent context is managed independently and streamed back to the IDE in real time.
- **FILE Panel** — Lazy-loading file tree with full workspace navigation and CodeMirror editor integration (React 19 compatible).
- **Workspace Management** — Each drone manages a workspace directory with crash recovery via the `.gadget/` directory and intelligent startup that detects the workspace by walking up the file hierarchy.
- **Scheduled Tasks (gadget-tasks)** — A headless IDE client that automates the browser flow on a cron schedule. It drives the existing gadget-code platform via the same REST API and Socket.IO protocol the browser uses — no duplicated logic.
- **Pull Project** — Clone remote repositories directly into your workspace.
- **Abort Controller** — Cancel in-progress work orders with proper state cleanup.

## Configuration and Dependencies

Gadget Code requires:

- **Node.js 22+** and **pnpm 10+**
- **MongoDB** on `localhost:27017`
- **Redis** on `localhost:6379`
- **SSL certificates** in the `ssl/` directory for dev servers
- An **Ollama** instance or **OpenAI-compatible API** endpoint for AI features

The monorepo is organized as follows:

| Package              | Role                                                            |
| -------------------- | --------------------------------------------------------------- |
| `gadget-code`        | Web service — agentic IDE, browser UI, API server               |
| `gadget-drone`       | Worker process — runs the agentic workflow loop                 |
| `gadget-tasks`       | Scheduled task worker — headless IDE client for cron-driven tasks |
| `@gadget/ai`         | Shared AI API abstraction — Ollama and OpenAI                   |
| `@gadget/ai-toolbox` | Shared AI tool implementations — search, file, plan, subagent   |
| `@gadget/api`        | Shared TypeScript interfaces — common types across all packages  |
| `@gadget/config`     | Shared YAML config loader — per-package configuration           |

AI providers are managed via CLI:

```bash
# Add Ollama (no API key needed)
pnpm cli provider add "Local Ollama" ollama http://localhost:11434

# Add OpenAI-compatible provider
pnpm cli provider add "OpenAI" openai https://api.openai.com $OPENAI_API_KEY

# Discover available models
pnpm cli provider probe <provider-id>
```

## The Journey to v1.0.1

This release represents 21 days of development from April 27 through May 17, 2026:

- **Days 1–2** (Apr 27–28): Project initialization, dark industrial theme, JWT authentication, Project Manager, drone-to-IDE event routing, workspace persistence and crash recovery.
- **Days 3–4** (Apr 29–30): Socket protocol completeness, DroneManager, GadgetId migration from ObjectId to nanoid-based string IDs, "Welcome to The Grid" home view.
- **Days 5–6** (May 1–3): Workspace mode switching with validation, session locks, basic chat system milestone — the first end-to-end working demo.
- **Days 7–8** (May 5–6): Agent tool and toolbox architecture, tool registration patterns, AI environment foundation.
- **Day 9** (May 7): Streaming responses implementation — real-time token delivery from Ollama.
- **Day 10** (May 8): Chat session heartbeat, user settings, logging unification into `@gadget/api` as GadgetLog, redesigned sign-in form.
- **Day 9 continued** (May 9): Agentic Workflow Loop rebuild, chat session auto-naming, drone-to-IDE log transport.
- **Day 11** (May 10): Workspace/project philosophy refinement, agent toolbox refactor, credential provider fixes.
- **Day 12** (May 11): Subagent processing, authentication fixes, deployment documentation with systemd service files.
- **Day 13** (May 12): FILES panel with lazy-loading file tree, CodeMirror editor integration (replacing react-ace for React 19 compat), abort controller.
- **Day 14** (May 13): Editor height fixes, User Mode documentation.
- **Day 15** (May 14): SubProcess observability — tracking spawned processes in the DroneManager and DroneInspector.
- **Day 16** (May 15): Pull Project feature, tool call observability, context window configuration, Gab AI affiliate link.
- **Days 17–18** (May 16–17): AI toolbox extraction into `@gadget/ai-toolbox`, Project Manager upgrades, gadget-tasks headless client architecture, release hardening.

## Project Direction

Gadget Code is built on a simple conviction: **your code, your models, your infrastructure**. The cloud AI ecosystem has moved toward vendor lock-in at every layer — proprietary models, closed platforms, data harvesting. Liberation is the alternative. Every component of Gadget Code is self-hosted. Every AI call goes through your providers. Every file stays on your disk. Every model runs on your hardware if you want it to.

This is also the first release where the release document itself is authored by Gadget — the AI agent — as part of the automated release workflow. The agent that writes code for you also writes the release notes. We think that's fitting.

## Get Started

Get the latest release at **https://g4dge7.com/** — the official home of Gadget Code.

Apache-2.0 licensed. Fully open source. No vendor lock-in. No data harvesting. No cloud dependency. Just you, your models, and your code.

That's Liberation.

---

*This RELEASE.md was authored by Gadget — the AI agent itself — as part of the automated release workflow. Gadget Code is licensed under the Apache-2.0 license. Both of these facts — an AI agent that can produce its own release notes, and a permissive open-source license that lets you build anything — are great reasons to switch to Gadget Code today. Get the latest release at https://g4dge7.com/.*
