gadget/CHANGE.md

290 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CHANGELOG
This document tracks all significant changes to Gadget Code, organized by date.
---
## 2026-05-17 (Sunday)
**Release Hardening, Subagent Improvements, and Workspace Intelligence**
The day focused on preparing the v1.0.1 release with a hardened release script, fixing subagent context management, adding prompt draft persistence, and implementing intelligent workspace startup that detects the workspace directory by walking up the file hierarchy.
### Changes:
- **Release**: Added hardened release script with error handling and pre-flight checks.
- **Subagent**: Improved subagent context management for more reliable agent operations.
- **Chat Session**: Implemented prompt draft save/restore so in-progress prompts survive view changes.
- **Workspace**: Added intelligent startup — drone detects workspace by walking up directory hierarchy.
- **Agent Tools**: Updated plan tool with improved prompt language and behavior.
- **Prompt Editor**: Expanded prompt editor capabilities.
- **gadget-tasks**: Course correction — converted to headless IDE client architecture (no direct DB access).
- **Documentation**: Added gadget-tasks architecture documentation; updated README and agent-toolbox docs.
- **Build**: Fixed installation and global link issues.
- **Tests**: Updated code-session tests to match current API expectations.
---
## 2026-05-16 (Saturday)
**AI Toolbox Extraction and Project Manager Upgrades**
Completed the refactor extracting the AI toolbox from `@gadget/ai` into `@gadget/ai-toolbox`, and implemented Project Manager upgrades across Phases 14. Cleaned up incorrect dependencies.
### Changes:
- **AI Toolbox**: Completed refactor and extraction from `@gadget/ai` into `@gadget/ai-toolbox`.
- **Project Manager**: Implemented upgrades across Phases 14.
- **Dependencies**: Removed incorrect `simple-git` package; fixed type references.
---
## 2026-05-15 (Thursday)
**Pull Project, Tool Call Observability, and Context Window Configuration**
Introduced the Pull Project feature for cloning remote repositories, added tool call observability to the chat session view, and added `numCtx` (Context Window) configuration to the SESSION panel. Also refactored ChatSessionView and added the Gab AI affiliate link.
### Changes:
- **Pull Project**: Initial implementation for cloning remote repositories into the workspace.
- **Observability**: Added tool call observability to the chat session view.
- **File Operations**: Added new file creation capability.
- **SESSION Panel**: Added `numCtx` (Context Window) setting; updated model config pipeline with `numPredict`, `numCtx`, and `maxCompletionTokens`.
- **ChatSessionView**: Refactored for improved structure; added scripts directory.
- **Provider**: Added Gab AI affiliate link; changed Ollama abort procedure.
---
## 2026-05-14 (Wednesday)
**SubProcess Observability Implementation**
Implemented comprehensive observability for SubProcess operations within the DroneManager and DroneInspector components, including status tracking, event emission, and UI display of subprocess execution details.
### Changes:
- **SubProcess**: Implemented Phase 1 (SubProcess service and agent tool) and Phase 2 (observability in DroneManager and DroneInspector).
- **UI**: Updated to display subprocess execution details.
- **Fixes**: Fixed mode change log message formatting.
---
## 2026-05-13 (Tuesday)
**CodeMirror Editor Fix and User Mode Documentation**
Fixed a critical CodeMirror editor height constraint in flex layouts, and added documentation for User Mode continuation prompts and MVP completion summary.
### Changes:
- **Editor**: Fixed CodeMirror editor height constraint in flex layout.
- **Documentation**: Added continuation prompt and remaining steps for User Mode; added session summary for MVP completion; formatting cleanup in AGENTS.md.
- **Infrastructure**: Prep work for landing page project.
---
## 2026-05-12 (Monday)
**FILES Panel, Editor Integration, and Abort Controller**
Major milestone: implemented the FILES panel foundation with lazy-loading file tree, replaced react-ace with @uiw/react-codemirror (React 19 compat), added an abort controller for work order processing, and fixed numerous file tree and layout issues.
### Changes:
- **FILES Panel**: Implemented foundation with lazy-loading file tree; fixed scrolling, duplication, corruption, and expand/collapse rendering issues.
- **Editor**: Replaced react-ace with @uiw/react-codemirror for React 19 compatibility; fixed ACE editor crash (Vite `?url` pattern, Error Boundary).
- **Layout**: Fixed flexbox scrolling for sidebar; added `shrink-0` to SESSION and PROJECT panels.
- **Abort Controller**: Implemented abort controller for work order processing; added Aborted status.
- **Navigation**: Added navigation to project in Project Manager using slug.
- **Socket**: Defined missing socket event types; enforced typed events in frontend build.
- **AI**: Fixed OpenAI API tool call processing correctness.
- **Agent**: Moved plan prompt language from common block; added plan for project-specific agent instructions.
---
## 2026-05-11 (Sunday)
**Subagent Processing, Authentication, and Deployment Documentation**
Focused on subagent processing improvements and authentication fixes, including subagent response handling, session data management, persona field in sign-in responses, and JWT/heartbeat fixes. Added deployment documentation with installation guides, config examples, and systemd service files.
### Changes:
- **Subagent**: Fixed subagent response handling and session data; crushed whitespace in subagent markdown output.
- **Auth**: Added persona field to sign-in response; fixed JWT expiration bugs and drone heartbeat timeouts.
- **ChatSession**: Added reconnect logic; fixed crash.
- **Deployment**: Added installation guides, config examples, and systemd service files.
- **Model Config**: Added `numPredict`, `numCtx`, `maxCompletionTokens` to model configuration pipeline.
- **Style**: CSS and style fixes for subagent display; updated build prompt.
- **Architecture**: Integrated docs/archive for reference; subagents system (written by an agent, for an agent).
---
## 2026-05-10 (Saturday)
**Workspace and Project Philosophy Refinement**
Refined the conceptual model separating Workspaces from Projects, improved the chat interface, and fixed credential provider and API key distribution issues.
### Changes:
- **Architecture**: Applied philosophy shifts for Workspaces and Projects; updated conceptual model.
- **Agent Toolbox**: Refactored and updated agent toolbox.
- **Fixes**: Fixed credential provider; ensured apiKey is presented to required consumers.
- **Chat**: Chat interface fixes and cleanup.
---
## 2026-05-09 (Friday)
**Agentic Workflow Loop Rebuild**
Rebuilt the Agentic Workflow Loop from the ground up for improved reliability and performance, with enhanced streaming response handling, chat session auto-naming, and drone-to-IDE log transport.
### Changes:
- **AWL**: Re-built Agentic Workflow Loop with improved reliability and checkpointing.
- **Streaming**: Enhanced streaming response handling and correctness.
- **Chat Session**: Implemented auto-naming with IDE update.
- **Logging**: Added GadgetLogTransportSocket for drone-to-IDE log streaming.
---
## 2026-05-08 (Thursday)
**Chat Session Heartbeat, User Settings, and Logging Unification**
Implemented chat session heartbeat and session unlock, user settings management, configurable reasoning effort, and unified logging into `@gadget/api` as GadgetLog. Redesigned sign-in form and provider/model selection.
### Changes:
- **Session**: Implemented chat session heartbeat and session unlock.
- **User Settings**: Added user settings management; made reasoning effort configurable.
- **Auth**: Redesigned sign-in form and presentation; removed sign-up concept; integrated persona field in User.
- **UI**: Reworked provider/model selection with save/cancel pattern; added editable session name with cog icon; added navigation to return to Project Manager.
- **Logging**: Unified logging into `@gadget/api` as GadgetLog; pre-task cleanup to reduce log spam; fixed logging when file logging is disabled.
- **Streaming**: Fixed streaming response handling for Ollama.
---
## 2026-05-07 (Wednesday)
**Streaming Responses Implementation**
Implemented streaming responses for AI model interactions, including proper handling of streaming data from Ollama and other providers with real-time token delivery and response completion tracking.
### Changes:
- **Streaming**: Implemented streaming responses for Ollama with real-time token delivery and completion tracking.
- **Documentation**: Created documentation for streaming responses.
---
## 2026-05-06 (Tuesday)
**Agent Tool and Toolbox Architecture**
Significant refactoring of the agent tool and toolbox architecture, establishing the foundational pattern for tool registration and management.
### Changes:
- **Architecture**: Refactored agent tool and toolbox; established tool registration and management patterns.
- **AI Environment**: Agent, tools, toolbox, tool loop, and AI environment foundation.
---
## 2026-05-05 (Monday)
**Basic Chat System Milestone**
Achieved a working basic chat system — the first end-to-end milestone — with provider, model, and mode selection, ChatTurn processing, and agent progress tracking.
### Changes:
- **Chat**: Implemented basic working chat system (checkpoint).
- **Selection**: Added provider, model, and mode selections.
- **Processing**: Enhanced AgentService.process method; implemented ChatTurn processing and component.
- **Infrastructure**: Renamed platform.apiKey to platform.gadgetKey; reduced log output.
---
## 2026-05-03 (Saturday)
**Workspace Mode Management and Status Display**
Fixed status message display in the agent interface and implemented workspace mode management with drone status message socket events.
### Changes:
- **Status**: Fixed status message display in agent interface.
- **Workspace**: Implemented workspace mode management; added drone status message socket events.
---
## 2026-05-02 (Friday)
**Workspace Mode Switching with Validation**
Implemented workspace mode switching with validation, ensuring workspace mode changes are validated before being applied, along with session lock and workspace processing refinements.
### Changes:
- **Workspace**: Implemented workspace mode switching with validation.
- **Session**: Added session lock and workspace processing refinements.
- **Socket**: Socket message and drone workspace cleanup; drone doc updates.
---
## 2026-05-01 (Thursday)
**The Grid Home View and GadgetId Migration**
Implemented the "Welcome to The Grid" home view, fixed JWT processing, refactored session lifecycle management, and completed the transition from Types.ObjectId to GadgetId across the codebase.
### Changes:
- **Home View**: Implemented "Welcome to The Grid" home view; return to Home on sign out.
- **Auth**: Fixed JWT processing.
- **Session**: Refactored session startup, shutdown, and import; fixed import errors.
- **GadgetId**: Completed transition from Types.ObjectId to GadgetId (string alias using nanoid); correctly generate nanoid IDs in default clauses.
---
## 2026-04-30 (Wednesday)
**Socket Protocol and Drone Manager**
Implemented socket protocol completeness with typed events, created the DroneManager, and finalized Project Manager correctness.
### Changes:
- **Socket Protocol**: Implemented socket protocol completeness; defined missing event types; enforced typed events in frontend build.
- **Drone Manager**: Created DroneManager (WIP).
- **Config**: Added setting for max Socket.IO HTTP buffer size.
- **Project Manager**: Wrap-up on Project Manager correctness.
---
## 2026-04-29 (Tuesday)
**Drone-to-IDE Event Routing and Workspace Persistence**
Implemented drone-to-IDE event routing, added event emissions to the Agentic Workflow Loop, and implemented workspace persistence and crash recovery. Added workspace mode to the gadget-drone process.
### Changes:
- **Event Routing**: Implemented Drone→IDE event routing (Phase 3); added event emissions to AWL (Phase 4).
- **Workspace**: Added workspace mode to gadget-drone process; implemented workspace persistence and crash recovery (Phase 5).
- **Protocol**: Implemented prompt submission; fixed type conflicts; added socket protocol documentation.
- **Config**: Added max Socket.IO HTTP buffer size setting; standardized interfaces.
---
## 2026-04-28 (Monday)
**Dark Industrial Theme, JWT Auth, and Project Manager**
Significant visual and architectural milestone: implemented the dark industrial theme, Project Manager, and JWT authentication, replacing sign-up with streamlined sign-in.
### Changes:
- **Theme**: Implemented dark industrial theme with correct border colors and enforcement.
- **Auth**: Implemented JWT authentication.
- **Project Manager**: Added project service.
- **Models**: Refactored gadget-code model interfaces to `@gadget/api`.
- **Infrastructure**: Added workspaceDir to DroneRegistration; E2E tests for theme.
---
## 2026-04-27 (Sunday)
**Initial Commit**
The project was initialized, establishing the foundation for all subsequent development.
### Changes:
- Initial project commit.
- Established basic project structure.