Troubleshooting

Common plugin setup and runtime issues in Evaluation Pipeline, with quick diagnostics.

This page stays as a quick maintainer-facing checklist. Detailed contract and authoring rules live elsewhere.

Discovery Fails

Check:

divekit plugin source list
divekit plugin discover --verbose

Verify:

  • the source is configured and trusted
  • the suite’s builder repository exposes manifest.json with "kind": "plugin-suite" on its default branch
  • the plugin repository exposes manifest.json with "kind": "plugin" and is pinned in the suite manifest
  • the pinned range matches a published tag, and that tag has an image in the plugin’s container registry

Plugin Does Not Run

Check:

divekit plugin list --verbose

Verify:

  • the suite is added and the plugin is enabled (divekit plugin enable <suite>/<plugin>)
  • the plugin is locked to a release and an image digest; divekit plugin update re-resolves the pins
  • the evaluation pipeline was installed with divekit plugin install and refreshed after suite changes
  • the job named <suite>:<plugin> exists in .divekit/eval-pipeline/eval/.gitlab-ci.yml; a missing job usually means an outdated template, which divekit plugin update reports
  • job.yaml only sets image, script, artifacts, and resources; a spec that sets a generated key is rejected at install
  • the Dockerfile copies implementation files from src/ into the path the script in job.yaml calls

Example:

script:
  - sh /opt/divekit/src/run.sh

Report Data Is Missing

Verify that the plugin job publishes:

  • plugin-results/<suite>/<plugin>/report.json

Common causes:

  • the plugin writes below a hardcoded path instead of $DIVEKIT_PLUGIN_RESULT_DIR
  • the declared artifact path is outside plugin-results/; the CLI rejects that at install
  • the plugin writes plugin-specific files but never emits normalized report.json

The report stage reconciles the composed jobs with the results that arrived: a plugin that ran but published nothing is shown as a plugin failure, a plugin the failed build stage kept from running as not executed.

Feedback Is Missing From Pages

Verify that the plugin job publishes one of:

  • plugin-results/<suite>/<plugin>/feedback.md
  • plugin-results/<suite>/<plugin>/feedback/index.json
  • plugin-results/<suite>/<plugin>/feedback/**/*.md

Feedback is only shown on the generated GitLab Page and in public/feedback.json. It is not written back to work repositories.

Build Or Plugin Execution Failed

Do not model build or plugin execution problems as fake tests. Publish an issue artifact instead:

  • plugin-results/<suite>/<plugin>/issues/index.json
  • plugin-results/<suite>/<plugin>/issues/<issue>.md
  • plugin-results/<suite>/<plugin>/logs/<tool>.log

Set affectsResult: true for issues that mean the evaluation could not complete successfully. The generated GitLab Page shows those issues in a separate execution-problems section and writes the machine-readable data to public/issues.json.

Wrong Plugin Version Is Used

A course cannot re-pin a single plugin of a suite; version selection belongs to the suite. Move the locks to what the suite’s pins allow now:

divekit plugin update
divekit patch ci -d ST2M4

If the suite itself pins the wrong version, change the pin in the builder’s manifest.json and release the builder. A plugin the suite does not ship can be attached as an external plugin from your own source.

Source Or Permission Errors

Verify:

  1. the host alias exists
  2. authentication is configured with divekit auth
  3. the source was added with --trusted