Skip to content

[CI Failure Doctor] CI Failure Investigation - js hash mismatch #13536

@github-actions

Description

@github-actions

🏥 CI Failure Investigation - Run #33531

Summary

Live GitHub API integration tests under actions/setup/js are failing because the JavaScript implementation now produces a different frontmatter hash for .github/workflows/audit-workflows.md than the hard-coded Go hash expectation after the recent workflow changes (removal of the gh-aw extension install step).

Failure Details

Root Cause Analysis

The failing test (frontmatter_hash_github_api.test.cjscross-language validationshould compute same hash as Go implementation when using file system) compares the JavaScript hash to a fixed Go-derived hash string (468877fb...). The workflow file .github/workflows/audit-workflows.md changed in the same push (removing the extension installation step), so the Go hash also changed. The JS test expectation was not updated, and the computed hash (ff56a35b...) now differs, so the assertion always fails.

Failed Jobs and Errors

  • js-integration-live-api / js – cross-language hash assertion fails with expected 'ff56a35b...' to be '468877fb...' (see frontmatter_hash_github_api.test.cjs:173).

Investigation Findings

  • The Go tool computeFrontmatterHash now returns ff56a35b191afe28f76a09217de1597695a225e8f41502cc815a0a9e0eb2f96e for audit-workflows.md after the workflow change.
  • The TypeScript test insists on the previous hash value because it was hard-coded.

Recommended Actions

  • Update the JS cross-language expectation to match the new Go hash (or derive it dynamically by invoking the Go code) so the test reflects the current workflow contents.
  • Consider sharing the authoritative hash output (e.g., via a helper file or generated fixture) between Go and JS to avoid future drift whenever workflow sources change.

Prevention Strategies

Always recompute or re-derive the expected hash (rather than hard-coding it) when modifying workflow sources that are part of the hash, so cross-language validation cannot break from content drift.

AI Team Self-Improvement

When updating workflows that are hashed by both Go and JS, rerun the Go hash generator and propagate the new hash into the JS cross-language test (automating the copy if possible).

Historical Context

No previous automated investigations reference this specific hash mismatch; prior runs have passed because the workflow file and the expected hash were still in sync.

AI generated by CI Failure Doctor

To add this workflow in your repository, run gh aw add githubnext/agentics/workflows/ci-doctor.md@ea350161ad5dcc9624cf510f134c6a9e39a6f94d. See usage guide.

  • expires on Feb 5, 2026, 4:00 PM UTC

Metadata

Metadata

Assignees

No one assigned

    Labels

    cookieIssue Monster Loves Cookies!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions