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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions