/validate-2
Run comprehensive end-to-end validation of the Remote Agentic Coding Platform including Docker, Test Adapter, Database, and **full GitHub workflow execution**.
$ npx -y skills add coleam00/Archon --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/validate-2
Context preview
What this command does when you run it.
Run comprehensive end-to-end validation of the Remote Agentic Coding Platform including Docker, Test Adapter, Database, and **full GitHub workflow execution**.
Command definition
validate-2.mdUltimate Validation Command (Updated January 2026)
Run comprehensive end-to-end validation of the Remote Agentic Coding Platform including Docker, Test Adapter, Database, and **full GitHub workflow execution**.
**The key test (Phase 8):** Creates a GitHub issue, then invokes the full workflow via issue comments: 1. `@Archon /command-invoke prime` - Analyze codebase 2. `@Archon /command-invoke plan-feature` - Create implementation plan 3. `@Archon /command-invoke execute` - Implement changes and create PR 4. (Phase 9) `@Archon /command-invoke review-pr` - Review the created PR
**Usage:**
/validation:validate-2 <ngrok-url>
**Example:**
/validation:validate-2 https://trinity-nonadverbial-enharmonically.ngrok-free.dev
**Prerequisites:**
- ngrok running and exposing port 3090 (for GitHub webhooks)
- `.env` file configured with all required credentials
- GitHub CLI (`gh`) authenticated
- Docker installed and running
**Updated for:**
- Bun runtime (not npm)
- Archon paths (`~/.archon/workspaces/owner/repo`)
- 6 database tables (codebases, conversations, sessions, command_templates, isolation_environments, workflow_runs)
- Worktree isolation with database tracking
- Full GitHub workflow: Issue → Prime → Plan → Execute → PR → Review
- Comprehensive command testing (/help, /clone, /repos, /templates, /status, /getcwd, /setcwd, /init, /reset, /worktree cleanup, /worktree orphans)
- PR/Issue worktree sharing verification
- GitHub close event cleanup trigger
- Database consistency checks (orphaned records)
---
Phase 1: Foundation Validation
1.1 Type Checking
bun run type-check
**Expected:** Zero TypeScript errors
1.2 Linting
bun run lint
**Expected:** Zero ESLint errors (warnings acceptable)
1.3 Code Formatting
bun run format:check
**Expected:** All files pass Prettier checks
1.4 Unit Tests
bun test
**Expected:** All critical tests pass
1.5 Build
bun run build
**Expected:** Clean build to `dist/` directory
**If any step fails, STOP and report the issue immediately.**
---
Phase 2: Environment Setup
2.0 Initialize Variables and Clean Workspace
# Load environment variables
source .env
# Store project root directory
PROJECT_ROOT="$(pwd)"
export PROJECT_ROOT
# Determine workspace path
if [ -n "$ARCHON_HOME" ]; then
WORK_DIR="${ARCHON_HOME}/workspaces"
else
WORK_DIR="${HOME}/.archon/workspaces"
fi
echo "Project root: ${PROJECT_ROOT}"
echo "Workspace directory: ${WORK_DIR}"
# Remove previous test repositories
rm -rf "${WORK_DIR}"/remote-coding-test-*
rm -rf "${HOME}/.archon/worktrees"/remote-coding-test-*
# Clean up test conversations from database
if command -v psql &> /dev/null; then
echo "Cleaning database with psql..."
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_sessions WHERE conversation_id IN (SELECT id FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%');" 2>&1
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_isolation_environments WHERE workflow_id LIKE '%test%' OR workflow_id LIKE '%remote-coding-test%';" 2>&1
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_workflow_runs WHERE conversation_id IN (SELECT id FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%');" 2>&1
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%';" 2>&1
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_codebases WHERE name LIKE 'remote-coding-test-%';" 2>&1
echo "Database cleaned"
else
echo "psql not found, using bun for cleanup..."
bun -e "
const { Client } = require('pg');
const client = new Client({ connectionString: process.env.DATABASE_URL });
async function cleanup() {
await client.connect();
await client.query(\"DELETE FROM remote_agent_sessions WHERE conversation_id IN (SELECT id FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%')\");
await client.query(\"DELETE FROM remote_agent_isolation_environments WHERE workflow_id LIKE '%test%'\");
await client.query(\"DELETE FROM remote_agent_workflow_runs WHERE conversation_id IN (SELECT id FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%')\");
await client.query(\"DELETE FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%'\");
await client.query(\"DELETE FROM remote_agent_codebases WHERE name LIKE 'remote-coding-test-%'\");
await client.end();
console.log('Database cleaned');
}
cleanup().catch(console.error);
"
fi
export WORK_DIR2.1 Store ngrok URL
NGROK_URL="$ARGUMENTS"
echo "Using ngrok URL: ${NGROK_URL}"
if [[ ! "$NGROK_URL" =~ ^https:// ]]; then
echo "ERROR: Invalid ngrok URL format. Expected: https://..."
exit 1
fi
export NGROK_URL2.2 Generate Repository Name
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
TEST_REPO_NAME="remote-coding-test-${TIMESTAMP}"
echo "Test repository: ${TEST_REPO_NAME}"
# Get GitHub username
GITHUB_USERNAME=$(gh api user --jq .login)
echo "GitHub user: ${GITHUB_USERNAME}"
export TEST_REPO_NAME
export GITHUB_USERNAME2.3 Create Test Repository Structure
mkdir -p "${WORK_DIR}/${GITHUB_USERNAME}"
cd "${WORK_DIR}/${GITHUB_USERNAME}"
mkdir ${TEST_REPO_NAME}
cd ${TEST_REPO_NAME}
# Initialize git
git init
git config user.email "test@example.com"
git config user.name "Test User"
# Create README
cat > README.md << 'EOF'
# Remote Coding Test Repository
This is a test repository for automated validation of the Remote Agentic Coding Platform.
## Purpose
Used for E2E testing of:
- Command invocation (prime, plan-feature, execute)
- GitHub webhook integration
- Worktree isolation
- AI-assisted development workflows
EOF
# Create .gitignore
cat > .gitignore << 'EOF'
node_modules
.next
.env*.local
EOF
# Create .archon/commands directory with test commands
mkdir -p .archon/commands
# CopyRead more
Ultimate Validation Command (Updated January 2026)
Run comprehensive end-to-end validation of the Remote Agentic Coding Platform including Docker, Test Adapter, Database, and **full GitHub workflow execution**.
**The key test (Phase 8):** Creates a GitHub issue, then invokes the full workflow via issue comments: 1. `@Archon /command-invoke prime` - Analyze codebase 2. `@Archon /command-invoke plan-feature` - Create implementation plan 3. `@Archon /command-invoke execute` - Implement changes and create PR 4. (Phase 9) `@Archon /command-invoke review-pr` - Review the created PR
**Usage:**
/validation:validate-2 <ngrok-url>
**Example:**
/validation:validate-2 https://trinity-nonadverbial-enharmonically.ngrok-free.dev
**Prerequisites:**
- ngrok running and exposing port 3090 (for GitHub webhooks)
- `.env` file configured with all required credentials
- GitHub CLI (`gh`) authenticated
- Docker installed and running
**Updated for:**
- Bun runtime (not npm)
- Archon paths (`~/.archon/workspaces/owner/repo`)
- 6 database tables (codebases, conversations, sessions, command_templates, isolation_environments, workflow_runs)
- Worktree isolation with database tracking
- Full GitHub workflow: Issue → Prime → Plan → Execute → PR → Review
- Comprehensive command testing (/help, /clone, /repos, /templates, /status, /getcwd, /setcwd, /init, /reset, /worktree cleanup, /worktree orphans)
- PR/Issue worktree sharing verification
- GitHub close event cleanup trigger
- Database consistency checks (orphaned records)
---
Phase 1: Foundation Validation
1.1 Type Checking
bun run type-check
**Expected:** Zero TypeScript errors
1.2 Linting
bun run lint
**Expected:** Zero ESLint errors (warnings acceptable)
1.3 Code Formatting
bun run format:check
**Expected:** All files pass Prettier checks
1.4 Unit Tests
bun test
**Expected:** All critical tests pass
1.5 Build
bun run build
**Expected:** Clean build to `dist/` directory
**If any step fails, STOP and report the issue immediately.**
---
Phase 2: Environment Setup
2.0 Initialize Variables and Clean Workspace
# Load environment variables
source .env
# Store project root directory
PROJECT_ROOT="$(pwd)"
export PROJECT_ROOT
# Determine workspace path
if [ -n "$ARCHON_HOME" ]; then
WORK_DIR="${ARCHON_HOME}/workspaces"
else
WORK_DIR="${HOME}/.archon/workspaces"
fi
echo "Project root: ${PROJECT_ROOT}"
echo "Workspace directory: ${WORK_DIR}"
# Remove previous test repositories
rm -rf "${WORK_DIR}"/remote-coding-test-*
rm -rf "${HOME}/.archon/worktrees"/remote-coding-test-*
# Clean up test conversations from database
if command -v psql &> /dev/null; then
echo "Cleaning database with psql..."
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_sessions WHERE conversation_id IN (SELECT id FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%');" 2>&1
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_isolation_environments WHERE workflow_id LIKE '%test%' OR workflow_id LIKE '%remote-coding-test%';" 2>&1
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_workflow_runs WHERE conversation_id IN (SELECT id FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%');" 2>&1
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%';" 2>&1
psql "$DATABASE_URL" -c "DELETE FROM remote_agent_codebases WHERE name LIKE 'remote-coding-test-%';" 2>&1
echo "Database cleaned"
else
echo "psql not found, using bun for cleanup..."
bun -e "
const { Client } = require('pg');
const client = new Client({ connectionString: process.env.DATABASE_URL });
async function cleanup() {
await client.connect();
await client.query(\"DELETE FROM remote_agent_sessions WHERE conversation_id IN (SELECT id FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%')\");
await client.query(\"DELETE FROM remote_agent_isolation_environments WHERE workflow_id LIKE '%test%'\");
await client.query(\"DELETE FROM remote_agent_workflow_runs WHERE conversation_id IN (SELECT id FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%')\");
await client.query(\"DELETE FROM remote_agent_conversations WHERE platform_conversation_id LIKE 'test-%'\");
await client.query(\"DELETE FROM remote_agent_codebases WHERE name LIKE 'remote-coding-test-%'\");
await client.end();
console.log('Database cleaned');
}
cleanup().catch(console.error);
"
fi
export WORK_DIR2.1 Store ngrok URL
NGROK_URL="$ARGUMENTS"
echo "Using ngrok URL: ${NGROK_URL}"
if [[ ! "$NGROK_URL" =~ ^https:// ]]; then
echo "ERROR: Invalid ngrok URL format. Expected: https://..."
exit 1
fi
export NGROK_URL2.2 Generate Repository Name
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
TEST_REPO_NAME="remote-coding-test-${TIMESTAMP}"
echo "Test repository: ${TEST_REPO_NAME}"
# Get GitHub username
GITHUB_USERNAME=$(gh api user --jq .login)
echo "GitHub user: ${GITHUB_USERNAME}"
export TEST_REPO_NAME
export GITHUB_USERNAME2.3 Create Test Repository Structure
mkdir -p "${WORK_DIR}/${GITHUB_USERNAME}"
cd "${WORK_DIR}/${GITHUB_USERNAME}"
mkdir ${TEST_REPO_NAME}
cd ${TEST_REPO_NAME}
# Initialize git
git init
git config user.email "test@example.com"
git config user.name "Test User"
# Create README
cat > README.md << 'EOF'
# Remote Coding Test Repository
This is a test repository for automated validation of the Remote Agentic Coding Platform.
## Purpose
Used for E2E testing of:
- Command invocation (prime, plan-feature, execute)
- GitHub webhook integration
- Worktree isolation
- AI-assisted development workflows
EOF
# Create .gitignore
cat > .gitignore << 'EOF'
node_modules
.next
.env*.local
EOF
# Create .archon/commands directory with test commands
mkdir -p .archon/commands
# CopyThe first open-source harness builder for AI coding. Make AI coding deterministic and repeatable.
Repo: coleam00/Archon
Other commands on archon.
- /commit
Create an atomic commit for current changes
Open command - /create-command
Meta command creator - generates slash commands following established patterns
Open command - /execute
Execute an Archon implementation plan file
Open command - /implement-fix
Implement fix from RCA document for GitHub issue
Open command - /rca
Analyze and document root cause for a GitHub issue
Open command - /handoff
Write a session handoff document for the next agent or session
Open command

