Skip to content

Expose pipeline outcome classes - #2173

Merged
chubes4 merged 2 commits into
mainfrom
fix/issue-2172-outcome-classes
May 22, 2026
Merged

Expose pipeline outcome classes#2173
chubes4 merged 2 commits into
mainfrom
fix/issue-2172-outcome-classes

Conversation

@chubes4

@chubes4 chubes4 commented May 22, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds additive RunMetrics outcome class/count fields for empty-query, provider, hydration, AI empty-packet, missing handler-packet, source-rejected, and item-deferred outcomes while preserving existing job statuses.
  • Records routed step failure reasons so empty_data_packet_returned and handler_requiring_step_missing_handler_packets remain machine-readable in metrics.
  • Shows outcome classes in wp datamachine jobs metrics table output and expands smoke coverage for the generic outcome contract.

Tests

  • php tests/job-outcome-metrics-smoke.php
  • php tests/run-metrics-smoke.php
  • php tests/transition-fanout-policy-smoke.php
  • php tests/ai-error-status-propagation-smoke.php
  • php tests/fetch-item-dispositions-smoke.php
  • php -l inc/Core/RunMetrics.php
  • php -l inc/Abilities/Engine/ExecuteStepAbility.php
  • php -l inc/Core/Steps/Fetch/Tools/FetchItemDispositionTool.php
  • php -l inc/Cli/Commands/JobsCommand.php
  • ./vendor/bin/phpcs inc/Core/RunMetrics.php inc/Abilities/Engine/ExecuteStepAbility.php inc/Core/Steps/Fetch/Tools/FetchItemDispositionTool.php inc/Cli/Commands/JobsCommand.php tests/job-outcome-metrics-smoke.php
  • git diff --check

Caveat

  • composer test reached WP Codebox test execution, then failed with an unclassified exit before structured counts were reported. The generated .pg-test-result.txt referenced in the output was not present afterward, so there was no additional failure detail to inspect locally.

Fixes #2172.

AI assistance

  • AI assistance: Yes
  • Tool(s): OpenCode (openai/gpt-5.5)
  • Used for: Drafted the implementation and focused smoke test updates; Chris remains responsible for review and merge.

@homeboy-ci

homeboy-ci Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Homeboy Results — data-machine

Lint

lint — passed

ℹ️ Full options: homeboy docs commands/lint
Deep dive: homeboy lint data-machine --changed-since 7501f47

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-data-machine-lint-quality-Linux-node24 contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-data-machine-lint-quality-Linux-node24 contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/data-machine/actions/runs/26298108822

Test

test — passed

ℹ️ Auto-fix lint issues: homeboy refactor data-machine --from lint --write
ℹ️ Collect coverage: homeboy test data-machine --coverage
ℹ️ Pass args to test runner: homeboy test -- [args]
ℹ️ Full options: homeboy docs commands/test
Deep dive: homeboy test data-machine --changed-since 7501f47

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-data-machine-test-quality-Linux-node24 contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-data-machine-test-quality-Linux-node24 contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/data-machine/actions/runs/26298108822

Audit

audit — passed

  • requested_detectors — 64 finding(s)
  • dead_code — 59 finding(s)
  • intra-method-duplication — 16 finding(s)
  • repeated_literal_shape — 4 finding(s)
  • Directives — 1 finding(s)
  • Retention — 1 finding(s)
  • field_patterns — 1 finding(s)
  • structural — 1 finding(s)
  • Total: 147 finding(s)

Deep dive: homeboy audit data-machine --changed-since 7501f47

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-data-machine-audit-quality-Linux-node24 contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-data-machine-audit-quality-Linux-node24 contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/data-machine/actions/runs/26298108822
Tooling versions
  • Homeboy CLI: homeboy 0.197.2+099b66bb
  • Extension: wordpress from https://github.com/Extra-Chill/homeboy-extensions
  • Extension revision: c148b5b6
  • Action: unknown@unknown

@chubes4
chubes4 merged commit 1d6be74 into main May 22, 2026
5 checks passed
@chubes4
chubes4 deleted the fix/issue-2172-outcome-classes branch May 22, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose distinct pipeline outcome classes for empty, provider, hydration, and AI packet failures

1 participant