Etvx
IBM ETVX (Entry-Task-Verification-Exit) phase gate methodology for task governance
Tags
Overview
Purpose
IBM ETVX (Entry-Task-Verification-Exit) phase gate methodology for task governance
Rules
ETVX-001: Every task MUST have at least one exit criterion
A task without exit criteria cannot be objectively completed. ETVX requires explicit completion conditions to prevent subjective 'done' claims.
Verification: Schema validation: task.yml requires exit[] with minItems: 1
ETVX-002: Task status MUST be derived from filesystem state, never stored
ETVX status is a function of entry/exit criteria satisfaction. Storing status creates staleness risk — the file says 'complete' but exit criteria no longer hold. Derivation ensures real-time accuracy.
Verification: Code review: no status field in task YAML instances; sbx task derive-status computes from criteria
ETVX-003: Entry criteria use type:file (filesystem existence) or type:field (value presence)
ETVX criteria must be machine-checkable for automated gate enforcement. File existence and field presence are the two fundamental checks. Complex conditions decompose into these primitives.
Verification: Schema validation: entry[].type in [file, field, property]
ETVX-004: Tasks MUST be atomic — if decomposition is needed, promote to activity
ETVX tasks are the atomic work unit. A task with sub-tasks is really an activity (ISO 12207 middle tier). Keeping tasks atomic enables precise status derivation and clear completion criteria.
Verification: Schema validation: task.yml has flat checklist[], no nested tasks
ETVX-005: ETVX defines WHAT (task definition), not HOW (execution context)
Separation of concerns. The same ETVX task can be executed manually, by a Claude agent, or by CI automation. Execution context (agent type, tools, personality) belongs in the contract, not the task.
Verification: Code review: task.yml contains brief/checklist/entry/exit only; no agent_type, tools_allowed, or execution hints
ETVX-006: Verification is folded into exit criteria — no separate verification phase
In classic ETVX, Verification and Exit are distinct phases. In SBX, verification IS an exit criterion: 'type: file, value: test-results.json' checks that tests passed. This simplification reduces protocol complexity without losing rigor.
Verification: Protocol review: task.yml has no verification[] section; verification expressed as exit criteria
ETVX-007: Claude Code hooks enforce ETVX exit gates automatically
Automated enforcement removes human forgetfulness from the loop. Stop and SubagentStop hooks run completeness validation — the PRODUCT gate that verifies deliverables alongside the PROCESS gate that validates governance compliance.
Verification: Configuration review: .claude/settings.json hooks include completeness validation commands