Skip to content

CI Failure DoctorCI Failure Investigation - Run 23393077821 #1171

@github-actions

Description

@github-actions

Summary

The CI workflow failed due to two main issues in the Lint workflow:

  1. The Ty type-checker/linter failed to resolve imported third-party modules.
  2. The MarkdownLint job detected multiple line-length violations (MD013).

Failure Details

Root Cause Analysis

  1. Ty Job: The step runs uvx ty check in an isolated environment without first installing project dependencies. Because the third-party dependencies (like agno, gradio) are not present in the Python environment when ty runs, it emits unresolved-import errors.
  2. MarkdownLint Job: Several .md files (e.g., .github/workflows/ci-coach.md, .github/workflows/agents-md-maintenance.md) contain lines exceeding the default 80-character limit set by MD013.

Failed Jobs and Errors

  • Lint / Ty:
    • ty (unresolved-import): src/chattr/app/builder.py#L17 Cannot resolve imported module agno.models.message
    • ty (unresolved-import): src/chattr/__main__.py#L6 Cannot resolve imported module gradio
  • Lint / MarkdownLint:
    • MD013/line-length Line length [Expected: 80; Actual: 106] in .github/workflows/ci-coach.md:129:81
    • MD013/line-length Line length [Expected: 80; Actual: 121] in .github/workflows/agents-md-maintenance.md:105:81

Investigation Findings

  • The Ty linter relies on the current Python environment to resolve modules. Without a uv sync step before running the linter, the isolated uvx environment is empty.
  • The MarkdownLint job uses strict checking but .github/workflows/*.md files contain very long commands or descriptions that exceed 80 columns.

Recommended Actions

  • For the Ty job in .github/workflows/.lint.yaml: Add a run: uv sync step before running ty, or change the run command to uv run ty check after syncing.
  • For the MarkdownLint job: Either format the markdown files in .github/workflows/ to wrap at 80 characters, or disable/relax the MD013 rule in .github/lint/.markdownlint.yaml.

Prevention Strategies

  • Always ensure that linter or type-checker tools have access to installed dependencies when analyzing Python files.
  • Configure Markdown formatting tools (like Prettier or MarkdownLint) with a relaxed line-length or disable the rule for automatically generated markdown documentation or files with long command lines.

AI Team Self-Improvement

When adding a new type checker or linter step in CI, verify whether the tool requires dependencies to be installed in the current environment to resolve third-party imports. Always run uv sync prior to running module-aware analyzers like ty or mypy.

Historical Context

Pattern matching indicates that unresolved-import errors in ty are typically caused by missing dependencies in the execution environment.

Note

🔒 Integrity filtering filtered 1 item

Integrity filtering activated and filtered the following item during workflow execution.
This happens when a tool call accesses a resource that does not meet the required integrity or secrecy level of the workflow.

  • issue:#unknown (search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)

Generated by CI Failure Doctor ·

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/ci-doctor.md@main

Metadata

Metadata

Assignees

No one assigned

    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