Skip to content

Generalize GitHub Actions artifact retrieval abilities #275

@chubes4

Description

@chubes4

Problem

GitHubAbilities exposes datamachine/get-github-homeboy-ci-results, which hardcodes Homeboy CI semantics into Data Machine Code's generic GitHub ability surface.

DMC should provide GitHub/GitHub Actions primitives. Homeboy-specific interpretation belongs in Homeboy, a Homeboy extension, or a thin compatibility layer outside the generic path.

Current Code Shape

Current implementation in inc/Abilities/GitHubAbilities.php:

  • Registers datamachine/get-github-homeboy-ci-results.
  • Downloads an Actions artifact by name/head SHA.
  • Parses ZIP JSON files.
  • Interprets review.json, audit.json, lint.json, test.json, manifest.json as Homeboy semantics.
  • Returns a Homeboy-specific summary (state, stages, passed, finding_count, etc.).

Desired Contract

Add a generic GitHub Actions artifact ability, for example:

  • datamachine/get-github-actions-artifact
  • Inputs: repo, pull_number or head_sha, artifact_name, max_artifact_bytes, include_json_files, include_raw_files/bounded equivalent.
  • Output: generic artifact metadata plus parsed JSON files where applicable.

The generic ability must not know about Homeboy file names, stage names, pass/fail semantics, or review payload shape.

Compatibility

If existing callers depend on datamachine/get-github-homeboy-ci-results, keep it as a deprecated wrapper around the generic artifact reader plus Homeboy-specific summarization isolated behind the old name.

The generic path should remain tool/vendor-agnostic.

Why This Matters

The next site-generation automation loop needs to consume arbitrary validation artifacts, not just Homeboy artifacts. DMC should be the generic GitHub substrate for CI artifact access, while domain-specific agents interpret artifact contents.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions