Delano Agent Runtime
Relevant source files
The following files were used as context for generating this wiki page:
The Delano Agent Runtime is a standardized operating environment integrated into the Ownkey Keyboard repository to support AI coding agents. It provides a structured framework for agents like Claude Code, Codex, and OpenCode to interact with the codebase through shared operating contexts, project contracts, and specialized toolsets.
The runtime is primarily installed within the .agents/ directory and utilizes project-specific definitions stored in .project/. Its primary purpose is to ensure that AI-driven modifications remain within defined scopes, follow privacy-first principles, and maintain the responsiveness required for Android Input Method Editors (IMEs).
Sources: AGENTS.md:3-5, install-delano.sh:147-158
Runtime Architecture and Directory Map
The runtime environment is divided into functional areas that separate common scripts, agent-specific adapters, and project-level context.
Runtime Directory Map
| Component | Path | Description |
|---|---|---|
| Shared Scripts | .agents/scripts/ | Utility scripts accessible by all agents. |
| PM Commands | .agents/scripts/pm/ | Project management scripts, including validation tools. |
| Skills | .agents/skills/ | Specialized capabilities mapped to external agent skillsets. |
| Hooks | .agents/hooks/ | Lifecycle triggers for automated runtime actions. |
| Logs | .agents/logs/ | Runtime execution and diagnostic logs. |
| Project Context | .project/context/ | Documentation and state shared between human and AI contributors. |
| Project Registry | .project/registry/ | Central registry for tracking task delivery and state. |
Sources: AGENTS.md:26-31, install-delano.sh:147-158
Core Components Flow
The following diagram illustrates the relationship between the Delano core components and the project environment.
The diagram shows how scripts within the Delano runtime interact with the project source code while referencing context and registry definitions.
Sources: AGENTS.md:26-31, install-delano.sh:147-158
Installation and Adapter Management
The runtime is deployed via a legacy installer bridge (install-delano.sh) that supports various AI agent adapters. It uses a sparse-checkout mechanism to minimize repository bloat by only fetching necessary runtime paths.
Installation Process
The installer allows for interactive selection of agents or command-line flags. Supported agents include:
- Claude Code: Uses
.agents/adapters/claudeandCLAUDE.md. - Codex CLI: Uses
.agents/adapters/codexandCODEX.md. - OpenCode: Uses
.agents/adapters/opencodeandOPENCODE.md. - Pi Coding Agent: Uses
.agents/adapters/piandPI.md.
Sources: install-delano.sh:54-72, install-delano.sh:160-165, CODEX.md:1-9
Installer Execution Flow
The installation logic ensures compatibility with legacy agent naming conventions by symlinking .agents to .claude.
Sources: install-delano.sh:178-200, install-delano.sh:230-264
Working Flow and Validation
Agents are required to follow a specific lifecycle to maintain repository integrity and privacy.
Standard Operating Procedure
- Contract Inspection: Agents must first check relevant task contracts in
.project/projects/. - Scoped Implementation: Changes must be strictly scoped to the requested work.
- Recording Updates: Project state changes are recorded through specific Delano commands or templates.
- Validation: Before work closeout, agents must run
bash .agents/scripts/pm/validate.sh(ordelano validate) and report any failures.
Sources: AGENTS.md:8-13, install-delano.sh:272
Privacy and Security Restrictions
The Delano Runtime enforces strict data exclusion rules. Agents must not publish:
- Secrets: API keys (which are stored locally via Android Keystore).
- Prompts: Raw prompt text used for AI orchestration.
- Paths: Machine-specific absolute paths in documents or logs.
Sources: AGENTS.md:33, app/src/main/kotlin/dev/patrickgold/florisboard/lib/devtools/Devtools.kt:133-145
Skill and Capability Mapping
The runtime leverages a skills-lock.json file to manage external dependencies and specialized capabilities. This file acts as a manifest for agent skills, ensuring consistent toolsets across different environments.
Skill Registry Summary
| Skill ID | Source | Capability |
|---|---|---|
kotlin-tooling-agp9-migration | Kotlin/kotlin-agent-skills | Upgrading Android Gradle Plugin versions. |
kotlin-tooling-java-to-kotlin | Kotlin/kotlin-agent-skills | Automating Java to Kotlin conversions. |
mobile-android-design | wshobson/agents | UI/UX implementation for Android applications. |
Sources: skills-lock.json:7-23
Integration with Developer Tools
The Delano Runtime utilizes the project's internal Devtools for troubleshooting. The Devtools.kt utility can generate comprehensive debug logs that are formatted for GitHub, allowing agents to attach system and app info to validation failure reports.
Debug Log Generation
Agents can trigger logs containing:
- System Info: Manufacturer, Android version, ABIs, and memory usage.
- App Info: Package ID, version code, and commit hash.
- Feature Config: State of Smartbar, Suggestions, Glide typing, and Clipboard.
- Runtime Config: List of active theme extensions and language packs.
Sources: app/src/main/kotlin/dev/patrickgold/florisboard/lib/devtools/Devtools.kt:47-68, app/src/main/kotlin/dev/patrickgold/florisboard/lib/devtools/Devtools.kt:111-121
The Delano Agent Runtime provides a robust framework that bridges the gap between the static repository source and dynamic AI agents. By enforcing contract-driven development and providing pre-configured adapters, it enables reliable AI contribution while safeguarding the keyboard's privacy and performance standards.