Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ claude
cd /path/to/em-aisoftwarefactory

# 3. Auto-routes to correct repository and injects knowledge
python3 -m orchestrator implement SEMI-1413
python3 -m harness implement SEMI-1413

# 4. Follow the printed instructions in Claude Code
```
Expand All @@ -83,7 +83,7 @@ An **Engineering OS** that provides:
| Guide | Description |
|-------|-------------|
| **[Quickstart](docs/guides/QUICKSTART.md)** | Get started |
| **[Orchestrator Usage](#orchestrator-usage)** | Single & multi-repo |
| **[Harness Usage](#harness-usage)** | Single & multi-repo |
| **[Skills Reference](#skills-reference)** | All available skills |
| **[Knowledge System](#knowledge-system)** | Architecture, ADRs, patterns |

Expand All @@ -92,18 +92,18 @@ An **Engineering OS** that provides:
| Doc | Purpose |
|-----|---------|
| **[Foundations Standards](knowledge/foundations/standards.md)** | Air-gapped, DoD, engineering principles |
| **[Orchestrator Guide](docs/guides/ORCHESTRATOR_GUIDE.md)** | Complete orchestrator usage |
| **[Harness Guide](docs/guides/HARNESS_GUIDE.md)** | Complete harness usage |
| **[Complete Docs](docs/README.md)** | Full documentation index |

---

## Orchestrator Usage
## Harness Usage

The orchestrator provides **workspace-level automation** with repository routing and knowledge injection.
The harness provides **workspace-level automation** with repository routing and knowledge injection.

### Single Repository

**Direct skill invocation (no orchestrator):**
**Direct skill invocation (no harness):**

```bash
# 1. Navigate to repository
Expand Down Expand Up @@ -136,18 +136,18 @@ claude

### Multi-Repository with Orchestrator

**Orchestrator-based (recommended for production):**
**Harness-based (recommended for production):**

```bash
# Step 1: Test routing
python3 -m orchestrator test SEMI-1413
python3 -m harness test SEMI-1413

# Output:
# Routed SEMI-1413 → semi
# Loaded knowledge: architecture, patterns, conventions

# Step 2: Generate implementation instructions
python3 -m orchestrator implement SEMI-1413
python3 -m harness implement SEMI-1413

# Output:
# Knowledge context prepared: /tmp/knowledge_context_xyz.md
Expand All @@ -162,7 +162,7 @@ python3 -m orchestrator implement SEMI-1413
# (Opens Claude Code and runs the skill with knowledge context)
```

**What the orchestrator adds:**
**What the harness adds:**
- **Auto-routing**: SEMI-1413 → em-semi (via Jira component)
- **Knowledge injection**: em-semi architecture/patterns
- **Foundations enforcement**: Air-gapped, 80% coverage, DoD
Expand All @@ -186,14 +186,14 @@ jira:

```bash
# Implement multiple issues across repositories
python3 -m orchestrator multi-repo SEMI-1413 T2D-890 RT-567
python3 -m harness multi-repo SEMI-1413 T2D-890 RT-567

# Output:
# SEMI-1413 → em-semi
# T2D-890 → em-talk2data
# RT-567 → em-runtime
#
# Generated 3 instruction sets (see /tmp/orchestrator_instructions_*.sh)
# Generated 3 instruction sets (see /tmp/harness_instructions_*.sh)
```

---
Expand Down Expand Up @@ -256,7 +256,7 @@ knowledge/
### Automatic Sync

```bash
# Runs automatically before orchestrator
# Runs automatically before harness
./sync_knowledge.sh

# Or manually
Expand Down Expand Up @@ -378,7 +378,7 @@ jira:
./sync_knowledge.sh

# 3. Test routing
python3 -m orchestrator test YOUR-ISSUE-123
python3 -m harness test YOUR-ISSUE-123

# 4. Verify knowledge loaded
# Should show: "Loaded knowledge for your-repo"
Expand All @@ -389,7 +389,7 @@ python3 -m orchestrator test YOUR-ISSUE-123
## Requirements

- **Claude Code** v2.1.81+ (for skills)
- **Python 3.8+** (for orchestrator)
- **Python 3.8+** (for harness)
- **Git** (for repositories)
- **Jira MCP** (optional, for real Jira data)

Expand All @@ -414,11 +414,11 @@ export JIRA_API_TOKEN=your_api_token
### Implement Single Issue

```bash
# Quick (no orchestrator)
# Quick (no harness)
cd /path/to/your/repo && /autonomous-implement SEMI-1413

# Full (with knowledge)
python3 -m orchestrator implement SEMI-1413
python3 -m harness implement SEMI-1413
# Follow instructions
```

Expand Down Expand Up @@ -470,7 +470,7 @@ ls -la knowledge/repositories/semi/

```bash
# Test routing
python3 -m orchestrator test SEMI-1413
python3 -m harness test SEMI-1413

# Check Jira component mapping
cat workspace.yaml | grep -A 10 "component_mapping:"
Expand All @@ -488,7 +488,7 @@ See [CRITICAL_FIX_BRANCHING.md](CRITICAL_FIX_BRANCHING.md) for details.

1. **[5 min]** Read [Quickstart Guide](docs/guides/QUICKSTART.md)
2. **[10 min]** Try `/autonomous-implement` on a real issue
3. **[15 min]** Set up orchestrator for your workspace
3. **[15 min]** Set up harness for your workspace
4. **[Optional]** Configure Jira MCP for real data

---
Expand Down
2 changes: 1 addition & 1 deletion adapters/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class RepositoryAdapter(ABC):
Each repository implements this interface to provide standardized
access to build, test, lint, and metadata operations.

The adapter pattern allows the orchestrator to remain agnostic
The adapter pattern allows the harness to remain agnostic
to repository-specific details while maintaining consistent operations.
"""

Expand Down
8 changes: 4 additions & 4 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Complete documentation for AI Software Factory.
| Doc | Description |
|-----|-------------|
| **[Quick Start](guides/QUICKSTART.md)** | Get started quickly |
| **[Orchestrator Guide](guides/ORCHESTRATOR_GUIDE.md)** | Complete orchestrator usage |
| **[Harness Guide](guides/HARNESS_GUIDE.md)** | Complete harness usage |
| **[Main README](../README.md)** | Overview and installation |

---
Expand Down Expand Up @@ -51,7 +51,7 @@ Platform engineering standards and requirements:
How to use the factory effectively:

- **[Quickstart](guides/QUICKSTART.md)** - Get started
- **[Orchestrator Guide](guides/ORCHESTRATOR_GUIDE.md)** - Complete orchestrator usage
- **[Harness Guide](guides/HARNESS_GUIDE.md)** - Complete harness usage
- **[Testing Guide](guides/TESTING_GUIDE.md)** - Multi-agent system testing

**Common Tasks:**
Expand All @@ -78,7 +78,7 @@ docs/
├── README.md # This file
└── guides/ # User guides
├── QUICKSTART.md # Quick start
├── ORCHESTRATOR_GUIDE.md # Orchestrator usage
├── HARNESS_GUIDE.md # Harness usage
└── TESTING_GUIDE.md # Testing multi-agent

knowledge/foundations/
Expand All @@ -103,7 +103,7 @@ Knowledge automatically extracted from repositories:
- Zero maintenance (read-only generated artifacts)

```bash
# Automatic sync before orchestrator runs
# Automatic sync before harness runs
ensure_knowledge_fresh()

# Manual sync anytime
Expand Down
50 changes: 25 additions & 25 deletions docs/guides/ORCHESTRATOR_GUIDE.md → docs/guides/HARNESS_GUIDE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Orchestrator Guide
# Harness Guide

**Complete guide to workspace-level orchestration with knowledge injection.**

Expand All @@ -21,10 +21,10 @@

```bash
# Test routing
python3 -m orchestrator test SEMI-1413
python3 -m harness test SEMI-1413

# Generate instructions
python3 -m orchestrator implement SEMI-1413
python3 -m harness implement SEMI-1413

# Follow the printed instructions in Claude Code
```
Expand All @@ -42,15 +42,15 @@ python3 -m orchestrator implement SEMI-1413
cd ~/Documents/Development/em-semi

# 2. Start Claude Code
claude --plugin-dir ~/Documents/Development/EM-AISoftwareFactory/.claude/plugins/em-software-factory
claude --plugin-dir ~/Documents/Development/EM-AISoftwareFactory//Users/malamunisamy/Documents/Development/EM-AISoftwareFactory

# 3. Run skill
/autonomous-implement SEMI-1413
```

**Pros:**
- Simple, direct
- Fast (no orchestrator overhead)
- Fast (no harness overhead)

**Cons:**
- No automatic knowledge injection
Expand All @@ -65,15 +65,15 @@ claude --plugin-dir ~/Documents/Development/EM-AISoftwareFactory/.claude/plugins

```bash
# From workspace root
python3 -m orchestrator implement SEMI-1413
python3 -m harness implement SEMI-1413

# Output:
# Routed SEMI-1413 → semi
# Knowledge context prepared: /tmp/knowledge_context_xyz.md
#
# To execute:
# 1. cd ~/Documents/Development/EM-AISoftwareFactory
# 2. claude --plugin-dir .claude/plugins/em-software-factory
# 2. claude --plugin-dir /Users/malamunisamy/Documents/Development/EM-AISoftwareFactory
# 3. cd ~/Documents/Development/em-semi
# 4. /autonomous-implement SEMI-1413 --context-file /tmp/knowledge_context_xyz.md

Expand All @@ -99,7 +99,7 @@ python3 -m orchestrator implement SEMI-1413
# Example: ARCH-500 needs changes in runtime AND runtime-ui

# Step 1: Check which repos
python3 -m orchestrator multi-repo ARCH-500
python3 -m harness multi-repo ARCH-500

# Output:
# Routed ARCH-500 to repositories: runtime, runtime-ui
Expand All @@ -109,8 +109,8 @@ python3 -m orchestrator multi-repo ARCH-500
# 2. runtime-ui (depends on runtime)
#
# Instructions generated:
# /tmp/orchestrator_instructions_ARCH-500-runtime.sh
# /tmp/orchestrator_instructions_ARCH-500-runtime-ui.sh
# /tmp/harness_instructions_ARCH-500-runtime.sh
# /tmp/harness_instructions_ARCH-500-runtime-ui.sh

# Step 2: Execute in order
# (Follow instructions for runtime first, then runtime-ui)
Expand All @@ -123,7 +123,7 @@ python3 -m orchestrator multi-repo ARCH-500
```bash
# Implement 5 issues across 3 repositories

python3 -m orchestrator multi-repo SEMI-1413 SEMI-1414 T2D-890 RT-567 UI-123
python3 -m harness multi-repo SEMI-1413 SEMI-1414 T2D-890 RT-567 UI-123

# Output:
# Routing summary:
Expand Down Expand Up @@ -250,7 +250,7 @@ The AI reads this context and:
./sync_knowledge.sh

# Automatic sync
# Runs before orchestrator implement/multi-repo commands
# Runs before harness implement/multi-repo commands

# Check what was extracted
ls -la knowledge/repositories/semi/
Expand Down Expand Up @@ -431,7 +431,7 @@ jira:
./sync_knowledge.sh

# 3. Test routing
python3 -m orchestrator test NEWREPO-123
python3 -m harness test NEWREPO-123

# Should output:
# Routed NEWREPO-123 → new-repo
Expand Down Expand Up @@ -502,11 +502,11 @@ When implementing analytics features:

```bash
# Normally routes based on Jira component
python3 -m orchestrator implement SEMI-1413
python3 -m harness implement SEMI-1413
# Routes to: semi

# Force different repository (future enhancement)
python3 -m orchestrator implement SEMI-1413 --repo runtime
python3 -m harness implement SEMI-1413 --repo runtime
# Routes to: runtime (override)
```

Expand All @@ -531,13 +531,13 @@ grep -r "event sourcing" knowledge/repositories/semi/

```bash
# Test routing without implementation
python3 -m orchestrator test SEMI-1413
python3 -m harness test SEMI-1413

# Verbose output
python3 -m orchestrator test SEMI-1413 --verbose
python3 -m harness test SEMI-1413 --verbose

# Test multiple
python3 -m orchestrator test SEMI-1413 T2D-890 RT-567
python3 -m harness test SEMI-1413 T2D-890 RT-567

# Output shows routing decision for each
```
Expand All @@ -558,7 +558,7 @@ vim workspace.yaml
# Add: YourComponent: your-repo

# Test
python3 -m orchestrator test YOUR-123
python3 -m harness test YOUR-123
```

### "No knowledge found"
Expand All @@ -579,8 +579,8 @@ ls -la ~/Documents/Development/em-your-repo/README.md

```bash
# The context file is temporary
# Run the orchestrator implement command again
python3 -m orchestrator implement SEMI-1413
# Run the harness implement command again
python3 -m harness implement SEMI-1413

# It will create a new context file
# Use it immediately (files may be cleaned up)
Expand All @@ -607,9 +607,9 @@ ls -la ~/Documents/Development/
| Scenario | Command | Knowledge | Routing |
|----------|---------|-----------|---------|
| **Quick single-repo** | `cd repo && /autonomous-implement` | No | Manual (you cd) |
| **Single-repo + knowledge** | `orchestrator implement` | Yes | Auto |
| **Multi-repo** | `orchestrator multi-repo` | Yes | Auto |
| **Batch** | `orchestrator multi-repo ISSUE1 ISSUE2...` | Yes | Auto |
| **Single-repo + knowledge** | `harness implement` | Yes | Auto |
| **Multi-repo** | `harness multi-repo` | Yes | Auto |
| **Batch** | `harness multi-repo ISSUE1 ISSUE2...` | Yes | Auto |

### Knowledge Injection

Expand All @@ -622,4 +622,4 @@ ls -la ~/Documents/Development/

---

**The orchestrator transforms "which repo?" and "what patterns?" into "just implement it correctly."**
**The harness transforms "which repo?" and "what patterns?" into "just implement it correctly."**
Loading