CtrlK
BlogDocsLog inGet started
Tessl Logo

parallel-integrate

Verify integration after parallel agent execution and generate report

Install with Tessl CLI

npx tessl i github:jpoutrin/product-forge --skill parallel-integrate
What are skills?

62

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

parallel-integrate

Category: Parallel Development

Usage

/parallel-integrate [--parallel-dir <dir>] [--tech django|typescript|go]

Arguments

  • --parallel-dir: Optional - Path to parallel directory (auto-detects if single directory in parallel/)
  • --tech: Optional - Technology stack for specific checks (default: auto-detect)

Purpose

Verify integration after all parallel agents complete their work. Checks contract compliance, boundary violations, runs tests, and generates an integration report.

Prerequisites

  • All parallel tasks completed
  • All feature branches merged to main (or ready to merge)
  • Run after /parallel-decompose execution

Execution Instructions for Claude Code

0. Determine Parallel Directory

If --parallel-dir provided:

  • Use specified directory (e.g., parallel/TS-0042-inventory-system)

If not provided:

  • Scan parallel/ for subdirectories
  • If single directory found, use it
  • If multiple, list and ask user to specify
  • If none, error with guidance

Read manifest.json from parallel directory:

PARALLEL_DIR="parallel/TS-0042-inventory-system"
cat "$PARALLEL_DIR/manifest.json"

1. Verify Branch Status

Check all task branches are complete:

# List task branches
git branch -a | grep feature/task-

# Check for unmerged branches
git branch --no-merged main | grep feature/task-

2. Merge Remaining Branches

If unmerged branches exist:

git checkout main
for branch in $(git branch --no-merged main | grep feature/task-); do
    echo "Merging $branch..."
    git merge $branch --no-edit
done

3. Technology-Specific Integration

For Django Projects

Migration Merge:

# Check for migration conflicts
python manage.py showmigrations | grep "\[ \]"

# If conflicts, merge migrations
python manage.py makemigrations --merge

# Apply all migrations
python manage.py migrate

Verification:

# Django system check
python manage.py check

# Run all tests
pytest

# Type checking
mypy apps/

# Linting
ruff check .

For TypeScript Projects

Build Verification:

# Type check
npx tsc --noEmit

# Lint
npm run lint

# Run tests
npm test

# Build
npm run build

For Go Projects

# Build and vet
go build ./...
go vet ./...

# Run tests
go test ./...

# Check formatting
gofmt -d .

4. Contract Compliance Check

For each task in $PARALLEL_DIR/tasks/:

API Contract Check:

  • Compare implemented endpoints against $PARALLEL_DIR/contracts/api-schema.yaml
  • Verify request/response schemas match
  • Check error formats

Type Contract Check:

  • Verify types match $PARALLEL_DIR/contracts/types.py (or .ts)
  • Check for missing fields
  • Verify enum values

5. Boundary Violation Check

For each task, verify:

  • Files modified are within declared scope
  • No files touched that were in "BOUNDARY" list
  • No unauthorized contract modifications
# Check git history for boundary violations
for task in $(ls $PARALLEL_DIR/tasks/); do
    echo "Checking $task boundaries..."
    # Compare committed files against task scope
done

6. Tech Spec Compliance Check

Read Tech Spec path from manifest:

TECH_SPEC=$(jq -r '.tech_spec.path' "$PARALLEL_DIR/manifest.json")

If Tech Spec exists, validate implementation:

Architecture Alignment:

  • Compare implemented components against Tech Spec Design Overview
  • Verify component boundaries match spec
  • Check that data flow matches documented architecture

Data Model Compliance:

  • Compare implemented models against Tech Spec Data Model section
  • Verify all entities are implemented
  • Check field types and constraints match

API Compliance:

  • Compare implemented endpoints against Tech Spec API Specification
  • Verify request/response formats match
  • Check error handling matches spec

7. Generate Integration Report

Create $PARALLEL_DIR/integration-report.md:

# Integration Report

Generated: [date]
Parallel Dir: parallel/TS-0042-inventory-system
Source PRD: [from manifest.sources.prd]
Tech Spec: [from manifest.tech_spec.id]
Tasks Integrated: [count]

## Summary

| Check | Status | Details |
|-------|--------|---------|
| Branch Merge | ✅/❌ | X branches merged |
| Contract Compliance | ✅/⚠️/❌ | X/Y endpoints match |
| Tech Spec Compliance | ✅/⚠️/❌ | X deviations |
| Boundary Violations | ✅/❌ | X violations found |
| Tests | ✅/❌ | X passed, Y failed |
| Type Check | ✅/❌ | X errors |
| Lint | ✅/❌ | X warnings |

## Contract Compliance

### API Endpoints

| Endpoint | Status | Notes |
|----------|--------|-------|
| GET /api/users/ | ✅ | Matches spec |
| POST /api/users/ | ⚠️ | Missing validation field |

### Type Definitions

| Type | Status | Notes |
|------|--------|-------|
| UserDTO | ✅ | Matches contract |
| OrderDTO | ⚠️ | Extra field `updated_at` |

## Boundary Violations

| Task | File | Issue |
|------|------|-------|
| task-003 | apps/users/models.py | Modified (owned by task-001) |

## Tech Spec Compliance

| Section | Status | Deviations |
|---------|--------|------------|
| Architecture | ✅ | None |
| Data Model | ⚠️ | Added `updated_at` to User |
| API Spec | ✅ | None |

## Test Results

pytest results: Passed: 142 Failed: 2 Coverage: 84%

## Action Items

### Must Fix (Blocking)
1. ❌ Fix failing tests

### Should Fix (Non-Blocking)
1. ⚠️ Add missing validation field

## Next Steps

[If all checks pass]:
1. ✅ Integration complete
2. Create PR for review

8. Update manifest.json

Update integration status:

{
  "integration": {
    "status": "completed",
    "report_path": "integration-report.md",
    "completed_at": "2025-12-07T18:00:00Z",
    "checks": {
      "branch_merge": "passed",
      "contract_compliance": "warning",
      "boundary_violations": "passed",
      "tests": "passed"
    }
  }
}

9. Report Results

Output to console:

Integration Verification Complete

Parallel Dir: parallel/TS-0042-inventory-system
Tech Spec: TS-0042-inventory-system

┌────────────────────┬────────┬─────────────────────────┐
│ Check              │ Status │ Details                 │
├────────────────────┼────────┼─────────────────────────┤
│ Branch Merge       │ ✅     │ 9 branches merged       │
│ Contract Compliance│ ⚠️     │ 18/20 endpoints match   │
│ Boundary Violations│ ✅     │ 0 violations            │
│ Tests              │ ✅     │ 142 passed              │
│ Type Check         │ ✅     │ 0 errors                │
│ Lint               │ ✅     │ 0 warnings              │
└────────────────────┴────────┴─────────────────────────┘

Full report: parallel/TS-0042-inventory-system/integration-report.md

[If clean]:
✅ Integration successful!

Next steps:
1. Review report
2. Create pull request
3. Deploy to staging

Example

# Auto-detect parallel directory
/parallel-integrate

# Specify parallel directory
/parallel-integrate --parallel-dir parallel/TS-0042-inventory-system

# With Django-specific checks
/parallel-integrate --parallel-dir parallel/TS-0042-inventory-system --tech django

# After fixing issues, re-run
/parallel-integrate

# View report
cat parallel/TS-0042-inventory-system/integration-report.md

Integration Checklist

  • All feature branches merged
  • No merge conflicts
  • Migrations applied (Django)
  • All tests pass
  • Type checks pass
  • Lint passes
  • No boundary violations
  • Contract compliance verified
  • Tech Spec compliance verified
  • Integration report generated
  • manifest.json updated

Related Commands

  • /parallel-setup - One-time project initialization
  • /parallel-decompose - Create tasks and prompts
Repository
jpoutrin/product-forge
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.