# Change Request: CR-002

> Created: 2026-03-09
> Status: Approved
> Classification: Modification
> Related Feature: FEATURE-044-E (primary), FEATURE-044-B, FEATURE-044-C, FEATURE-044-F, FEATURE-047-A, FEATURE-047-C
> IDEA: IDEA-034
> UIUX Feedback: Feedback-20260309-111628

## Request Details

**Requestor:** Human (Product Owner)
**Date Received:** 2026-03-09
**Priority:** Medium

## Description

Rename `process_preference.auto_proceed` to `process_preference.interaction_mode` across the entire X-IPE system, replacing terse enum values with semantically meaningful keys that AI agents can parse without lookup tables.

**Key rename:**
- Config key: `auto_proceed` → `interaction_mode`

**Enum value renames:**
| Old Value | New Value | Meaning |
|-----------|-----------|---------|
| `auto` | `dao-represent-human-to-interact` | DAO represents the human at ALL touchpoints |
| `stop_for_question` | `dao-represent-human-to-interact-for-questions-in-skill` | DAO represents human for inner-skill questions only |
| `manual` | `interact-with-human` | Human handles all touchpoints directly |

**UI changes:**
- Add "Interaction Mode" label above/beside the dropdown
- Replace display labels: "Manual" → "👤 Human Direct", "Auto" → "🤖 DAO Represents Human", "Stop for Q" → "🤖⚡ DAO Inner-Skill Only"

**CLI flag changes:**
- `--execute@keep-running-forever` → `--interaction@dao-represent-human-to-interact`
- `--execute@keep-running-forever-stop-only-on-question` → `--interaction@dao-represent-human-to-interact-for-questions-in-skill`

**Backward compatibility:** Backend MUST accept both old and new values, auto-migrating old values on read.

## Business Justification

The current `auto_proceed` naming predates the DAO skill architecture (EPIC-047). Now that `x-ipe-dao-end-user-representative` is the actual mechanism behind "auto" mode, the terminology is misleading:
1. "Auto" suggests generic automation — but the real behavior is DAO *representing the human*
2. AI agents parse these keys at every decision point — semantic keys prevent misinterpretation without lookup tables
3. Design principle: **meaningful is over simplicity** for AI-consumed configuration

## Impact Analysis

### Classification

**Type:** Modification to FEATURE-044-E (primary) + 5 related features

**Reasoning:**
- Works within current system boundaries — same API endpoint, same dropdown, same storage format
- No new workflows, data models, user types, or integration points
- Same users, same functionality — renaming keys + adding UI label
- Builds upon existing auto_proceed system from EPIC-044

### Comparison Matrix

| Aspect | CR Requirement | Existing Feature(s) |
|--------|---------------|---------------------|
| Users | Same (human operators, AI agents, skill authors) | Same |
| Workflow | Same settings dropdown → API → skill execution | Same |
| Data Model | Rename key + values in existing JSON structure | `global.process_preference.auto_proceed` |
| UI Elements | Same dropdown + new label text | Dropdown only, no label |
| API Endpoints | Same PATCH `/api/workflow/{name}/settings` | Same |

### Conflict Analysis

**Conflicts Found:** Yes — all expected (mechanical renames)

| # | Type | Affected Feature | Severity | Classification | Description |
|---|------|-----------------|----------|----------------|-------------|
| 1 | dependency | FEATURE-044-E | Medium | expected | 3 persisted workflow JSON files have `auto_proceed` key — auto-migrate on read |
| 2 | specification | FEATURE-044-B | Low | expected | Spec references `auto_proceed: "manual \| auto \| stop_for_question"` — update spec version history |
| 3 | specification | FEATURE-044-C | Low | expected | 19 task-based SKILL.md files reference `auto_proceed` — scripted bulk replace |
| 4 | specification | FEATURE-047-A | Low | expected | DAO skill execution_strategy output uses `auto_proceed` — update key |
| 5 | specification | FEATURE-047-C | Low | expected | Resource templates reference `auto_proceed` — update + rebuild PyPI |
| 6 | dependency | x-ipe-workflow-task-execution | Medium | expected | Orchestrator skill has 14 `auto_proceed` refs — bulk update |

**Unexpected Conflict Resolution:** N/A — no unexpected conflicts

**Mitigation Strategy:**
- Backend auto-migration: accept old values, map to new values, persist new values on write
- Scripted bulk update for 19 skills to avoid human error
- Test update: modify all 41 test cases (19 Python + 22 JS) to use new values

### Affected Components

| Component | Impact Level | Details |
|-----------|--------------|---------|
| `workflow_manager_service.py` | High | Validation, migration map, key rename (5 refs) |
| `workflow.js` | High | Dropdown labels, enum values, add label (3 refs) |
| `action-execution-modal.js` | High | Method rename, flag format change (2 refs) |
| `workflow.css` | Low | Label styling for "Interaction Mode" text |
| `.github/skills/x-ipe-task-based-*/SKILL.md` (×19) | Medium | Bulk enum rename in each skill |
| `x-ipe-workflow-task-execution/SKILL.md` | Medium | Orchestrator routing logic (14 refs) |
| `x-ipe-dao-end-user-representative/SKILL.md` | Low | execution_strategy output key (2 refs) |
| `.github/copilot-instructions.md` | Medium | All auto_proceed references (4 refs) |
| `src/x_ipe/resources/` templates | Medium | Instruction templates for PyPI (7 refs) |
| `tests/test_workflow_settings.py` | Medium | 19 test assertions |
| `tests/frontend-js/*.test.js` | Medium | 22 test cases |
| `x-ipe-docs/config/workflow-template.json` | Low | Template default value |
| `src/x_ipe/resources/config/workflow-template.json` | Low | PyPI template default value |
| Persisted workflow JSON files (×3) | Low | Auto-migrated on read |

### Dependencies

- EPIC-044 features (all completed) — this CR modifies their outputs
- EPIC-047 features (all completed) — this CR aligns naming with DAO architecture
- PyPI package rebuild required after resource template updates

## Proposed Approach

1. **Backend first:** Update `workflow_manager_service.py` with new key, validation, and backward-compat migration map
2. **Frontend:** Update dropdown (labels, enum values, add "Interaction Mode" label) and execution flag builder
3. **Skills bulk update:** Script find-replace across 19 task-based skills + orchestrator + DAO skill
4. **Instructions:** Update `copilot-instructions.md` and resource templates
5. **Tests:** Update all 41 test cases to use new values + add migration tests
6. **PyPI:** Rebuild package with updated resource templates

## Mockup Impact

**UI/UX Change:** Yes
**Existing Mockups Referenced:** None found in EPIC-044/mockups/ for the dropdown specifically

| New Mockup | Path | Based On | Changes Applied |
|------------|------|----------|-----------------|
| N/A | — | — | Changes documented in IDEA-034 idea-summary-v1.md with ASCII wireframe |

## Approval

- [x] Classification approved (DAO-confirmed — auto mode)
- [x] Conflict analysis reviewed (all expected, no unexpected)
- [x] Approach approved (DAO-confirmed)
- [x] Ready for execution

## Execution

**Classification Result:** modification
**Conflicts Resolution:** all_expected

**Actions Taken:**
- [x] CR document created in feature folder
- [x] Conflict analysis completed and documented
- [x] Specification Version History updated with CR link
- [x] Next task type set: x-ipe-task-based-feature-refinement

## Links

- IDEA: [idea-summary-v1.md](../../ideas/034.%20CR-'道'%20for%20x-ipe/refined-idea/idea-summary-v1.md)
- UIUX Feedback: [Feedback-20260309-111628](../../uiux-feedback/Feedback-20260309-111628/feedback.md)
- FEATURE-044-B Specification: [specification.md](../FEATURE-044-B/specification.md)

---

## Change History

| Date | Change | By |
|------|--------|----|
| 2026-03-09 | CR created from IDEA-034 and Feedback-20260309-111628 | Ember 🔥 (AI Agent) |
