Skip to content

fix(agentic-engineering): classify current-head CI safely #137

Description

@devantler

🤖 Generated by the Agentic Engineer

Description

The generic portfolio surveyor can misclassify current-head GitHub Actions health because its procedure does not provide one deterministic, fail-closed classifier contract for pagination, recovery state, managed-run identity, and equal timestamps. A consumer repair proved the behavior against live paginated payloads, but the portable logic belongs in this plugin before that consumer can roll it out.

Related: devantler-tech/monorepo#2173, devantler-tech/monorepo#2436, and #95.

Steps to Reproduce

  1. Feed default-branch run pages where an older failure is followed by a non-success retry, or where independent dynamic/dependabot jobs share one workflow id.
  2. Split the payload across raw gh api --paginate page documents or a --slurp envelope array.
  3. Include two decisive runs with the same created_at second but different run ids.
  4. Let a later page request fail after earlier pages were emitted.

Expected Behavior

The surveyor evaluates all pages globally, preserves a known failure until a successful run clears it, keeps managed jobs independent, breaks timestamp ties by run id, preserves fields needed for managed-run routing, and reports query failure as unknown rather than green.

Actual Behavior

The current generic prose selects only by workflow id and timestamp, treats non-red latest states as clear, and does not bind classifier success to successful completion of the paginated producer. The consumer-local repair cannot be canonical under the definition-routing contract.

Environment

  • Plugin: agentic-engineering 4.3.3 / reviewed main 564a6a0f
  • Consumer: devantler-tech/monorepo PR #2436

Acceptance Criteria

  • Canonical plugin agent/procedure owns the full classifier contract and any executable helper.
  • Fixture tests RED-prove raw and slurped pagination, producer failure propagation, success-only recovery, managed logical identity, deterministic run-id tie-breaking, and identity-field output.
  • The generic agent fails closed to unknown on incomplete API pagination.
  • The consumer can remove or reduce its duplicated classifier/prose after advancing the reviewed plugin pin.
  • Plugin validation and current-head review are green.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions