Skip to content

Conversation

cidrblock
Copy link
Contributor

Problem Statement

The current messaging terminology uses "Completed" to describe action outcomes, which is semantically misleading. The term "Completed" implies successful full execution, but Molecule uses this prefix for all action outcomes including failures, early exits, missing files, and skipped operations. This creates confusion when reading logs, as "Completed: Failed" suggests contradictory states.

Similarly, "Starting" suggests the beginning of an operation, while "Executing" more accurately conveys that the action is actively running.

Solution

Replace the misleading terminology throughout the codebase:

  • "Completed:""Executed:" for all action outcome messages
  • "Starting""Executing" for action initiation messages
  • exec_startingexec_executing constant for consistency

Technical Changes

Core Logic:

  • src/molecule/reporting.py: Updated message property to use "Executed:" prefix
  • src/molecule/logger.py: Changed action start messages to "Executing"
  • src/molecule/constants.py: Renamed markup constant for semantic accuracy

Message Format Changes:

- INFO     [default > converge] Starting
- INFO     [default > converge] Completed: Failed
+ INFO     [default > converge] Executing  
+ INFO     [default > converge] Executed: Failed

Test Coverage:
Updated 18 test files to reflect new message expectations, ensuring comprehensive validation of the terminology changes across all command types and output scenarios.

Rationale

"Executed" is semantically accurate because:

  • An action that fails has still been executed (attempted)
  • An action that exits early due to missing files has been executed
  • An action that is skipped has been executed (with skip logic)
  • The term describes the attempt/process rather than the outcome

"Executing" better conveys active operation compared to "Starting" which suggests only initiation.

Impact

  • Improved clarity: Eliminates semantic contradiction in failure scenarios
  • Better debugging experience: More intuitive log interpretation
  • Professional terminology: Aligns with standard software execution terminology
  • Zero breaking changes: Only affects user-visible messages, no API changes
  • Full backward compatibility: All existing functionality preserved

Testing

All existing tests updated and passing. The change is purely cosmetic to output messaging with no functional modifications to Molecule's behavior or interfaces.

…n all messaging

- Update core message generation to use 'Executed:' instead of 'Completed:'
- Change action start messages from 'Starting' to 'Executing'
- Rename exec_starting constant to exec_executing for consistency
- Update all test files to expect new message format
- Update integration test fixtures with new terminology
- Update documentation comments to reflect new messaging

This improves clarity as 'Executed' accurately describes that an action
ran regardless of outcome, while 'Executing' better conveys active operation.
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR improves messaging terminology by replacing "Completed" with "Executed" and "Starting" with "Executing" to provide more semantically accurate action outcome descriptions. The current terminology was misleading because "Completed: Failed" suggests contradictory states, while "Executed: Failed" correctly conveys that an action was attempted but failed.

Key changes:

  • Updated message property in CompletionStateInfo to use "Executed:" prefix instead of "Completed:"
  • Changed action initiation messages from "Starting" to "Executing" in the logger decorator
  • Renamed exec_starting constant to exec_executing for consistency

Reviewed Changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/molecule/reporting.py Updated message property to use "Executed:" prefix and corrected comment terminology
src/molecule/logger.py Changed action start messages from "Starting" to "Executing"
src/molecule/constants.py Renamed markup constant from "exec_starting" to "exec_executing"
src/molecule/ansi_output.py Updated documentation comments to reflect new "Executed:" terminology
tests/unit/test_reporting.py Updated test assertions to expect "Executed:" instead of "Completed:"
tests/unit/test_constants.py Updated test to check for renamed "exec_executing" constant
tests/unit/test_ansi_output.py Updated test cases to use new "Executed:" message format
tests/unit/command/test_*.py Updated command test files to expect "Executed:" in log messages
tests/fixtures/integration/test_command/comprehensive_output.txt Updated fixture output to reflect new messaging terminology
tests/conftest.py Updated documentation comments to use new terminology

@cidrblock
Copy link
Contributor Author

just vocabulary, self approving since it was my doing in the first place

@cidrblock cidrblock merged commit d88a042 into ansible:main Aug 8, 2025
21 of 22 checks passed
cidrblock added a commit to cidrblock/molecule that referenced this pull request Aug 11, 2025
…nsible#4507)

### Problem Statement

The current messaging terminology uses "Completed" to describe action
outcomes, which is semantically misleading. The term "Completed" implies
successful full execution, but Molecule uses this prefix for all action
outcomes including failures, early exits, missing files, and skipped
operations. This creates confusion when reading logs, as "Completed:
Failed" suggests contradictory states.

Similarly, "Starting" suggests the beginning of an operation, while
"Executing" more accurately conveys that the action is actively running.

### Solution

Replace the misleading terminology throughout the codebase:

- **"Completed:"** → **"Executed:"** for all action outcome messages
- **"Starting"** → **"Executing"** for action initiation messages  
- **`exec_starting`** → **`exec_executing`** constant for consistency

### Technical Changes

**Core Logic:**
- `src/molecule/reporting.py`: Updated message property to use
"Executed:" prefix
- `src/molecule/logger.py`: Changed action start messages to "Executing"
- `src/molecule/constants.py`: Renamed markup constant for semantic
accuracy

**Message Format Changes:**
```diff
- INFO     [default > converge] Starting
- INFO     [default > converge] Completed: Failed
+ INFO     [default > converge] Executing  
+ INFO     [default > converge] Executed: Failed
```

**Test Coverage:**
Updated 18 test files to reflect new message expectations, ensuring
comprehensive validation of the terminology changes across all command
types and output scenarios.

### Rationale

**"Executed" is semantically accurate** because:
- An action that fails has still been executed (attempted)
- An action that exits early due to missing files has been executed
- An action that is skipped has been executed (with skip logic)
- The term describes the attempt/process rather than the outcome

**"Executing" better conveys active operation** compared to "Starting"
which suggests only initiation.

### Impact

- **Improved clarity**: Eliminates semantic contradiction in failure
scenarios
- **Better debugging experience**: More intuitive log interpretation  
- **Professional terminology**: Aligns with standard software execution
terminology
- **Zero breaking changes**: Only affects user-visible messages, no API
changes
- **Full backward compatibility**: All existing functionality preserved

### Testing

All existing tests updated and passing. The change is purely cosmetic to
output messaging with no functional modifications to Molecule's behavior
or interfaces.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

1 participant