Skip to content

Course/task hierarchy fails to synchronize: parent ... was not found, tasks displayed as src [main], and Gradle removes task modules #59

Description

@Salcines

Environment

  • OS: macOS 26.5.2
  • Architecture: Apple Silicon (aarch64)
  • IntelliJ IDEA: 2026.2.1
  • Hyperskill Academy: 2026.17-2026.2
  • Language: Java
  • Affected projects: multiple independent Hyperskill projects/courses
  • Version control: Git enabled in all affected projects

Problem

The affected projects are independent of each other and in different locations

Hyperskill Academy is no longer correctly reconstructing the course/lesson/task hierarchy from the project metadata.

The problem affects multiple independent projects stored in different directories. These projects previously worked correctly.

The physical project structure is correct and Git shows the expected files and paths.

However, in the Hyperskill Course tool window, tasks are no longer displayed using their task names. Instead, the task nodes are displayed as:

src [main]

The containing folder/task name is not used.

For example, a task whose physical structure is:

Topics/
  Abstract class/
    Abstract class/
      src/
        main.java
      task.html
      task-info.yaml
      task-remote-info.yaml

is displayed in the Hyperskill Course tree using src [main] instead of the task name.

YAML configuration errors

The IDE reports errors while applying the generated YAML metadata.

For Java Problems, section-info.yaml reports:

Failed to apply configuration: parent 'Topics' was not found

The corresponding lesson-info.yaml reports:

Failed to apply configuration: parent for 'Abstract class' was not found

And the corresponding task-info.yaml reports the same type of parent-resolution error.

These files are generated files and contain the warning:

This is a generated file. Not intended for manual editing

The relevant course-info.yaml is:

type: hyperskill
title: Java Problems
language: English
summary: All problems in Java programming language that can't be opened together with
  currently selected Hyperskill project.
programming_language: Java
programming_language_version: 11
content:
  - Topics
additional_files: [ ]
mode: Study
yaml_version: 5

The section-info.yaml contains:

content:
  - Abstract class
  - Regexes in programs
  - Array
  - Multidimensional array

The lesson-info.yaml for Abstract class contains:

content:
  - Abstract class
  - IntBinaryOperation
  - Shape hierarchy
  - Calculating areas of rectangles and circles

Another affected project

The same problem occurs in an existing Hyperskill project, Minesweeper (Java).

Its lesson-info.yaml contains:

type: framework
content:
  - Lay the groundwork
  - Flexible mines
  - Look around you
  - Prepare for battle
  - Battle!

The IDE reports:

Invalid yaml:
File Minesweeper (Java)/lesson-info.yaml:
parent for 'Minesweeper (Java)' was not found

The Hyperskill Course tree also displays its tasks incorrectly as src [main].

Gradle synchronization

When opening/reloading the affected project, Gradle also reports:

The IDE modules below were removed by the Gradle project sync:
Minesweeper_(Java).Topics__3_-Declaring_functio...

This appears to affect the IDE modules corresponding to Hyperskill tasks.

After a successful Gradle synchronization, the .main and .test modules can be regenerated, but the Hyperskill Course hierarchy remains incorrect.

Important distinction

This is not a Gradle/JDK compilation problem.

There was initially a separate Java toolchain error requiring Java 25:

Cannot find a Java installation on your machine matching:
{languageVersion=25, ...}

After restarting with a stable network connection, Gradle correctly detected the installed JDKs, synchronized successfully and generated the expected .main and .test modules.

However, the Hyperskill Course hierarchy remained broken.

Therefore the current issue appears to be related to Hyperskill Academy's course/lesson/task model synchronization rather than Gradle dependency resolution.

Task description behavior

There is also an important difference between projects.

In the newly created Java Problems project, task.html can be displayed correctly in the Task tool window.

In older Hyperskill projects, the corresponding task.html files physically exist and Open in Hyperskill correctly opens the corresponding task, but the IDE reports that the local task description cannot be accessed.

This suggests that the remote task association still works, while the local course/task hierarchy or local resource resolution is broken.

Timeline

  • July 5, 2026: Java Problems directory/course was created.
  • July 6, 2026: first problem solved from Java Problems; task naming was still correct.
  • Subsequently, task naming started appearing as src [main].
  • Projects that had worked correctly 2–3 months earlier now exhibit the same behavior.
  • Current environment:
    • IntelliJ IDEA 2026.2.1
    • Hyperskill Academy 2026.17-2026.2

Impact

The most serious consequence is potential loss of task source code.

In one affected task, source code disappeared when the project was reloaded. Git made recovery possible, but the plugin/Gradle synchronization process appears capable of replacing/removing the IDE modules containing the task code when the course structure cannot be reconstructed correctly.

This makes the problem potentially destructive for users working without version control.

Expected behavior

The IDE should reconstruct the hierarchy represented by the generated metadata, for example:

Course
  └── Topics
      └── Abstract class
          ├── Abstract class
          ├── IntBinaryOperation
          ├── Shape hierarchy
          └── Calculating areas of rectangles and circles

Task nodes should retain their task names and remain associated with their corresponding local task.html, source files and Gradle modules.

A failed metadata resolution should not result in task source modules being removed or task source code being overwritten.

Actual behavior

The hierarchy is partially lost:

Course
  └── Topics
      └── Abstract class
          ├── src [main]
          ├── src [main]
          └── ...

and the IDE reports multiple:

parent ... was not found

errors.

Gradle synchronization may additionally remove the corresponding IDE modules.

Request

Please investigate whether the current Hyperskill Academy plugin has a regression in course metadata parsing/model construction or in the synchronization between:

  • course-info.yaml
  • section-info.yaml
  • lesson-info.yaml
  • task-info.yaml
  • Gradle task modules
  • the Hyperskill Course tool window.

In particular, please investigate why valid parent nodes such as Topics and the corresponding lessons are not being resolved.

I have deliberately not modified the generated YAML files, since they contain:

This is a generated file. Not intended for manual editing

and the same behavior occurs across multiple independent projects.

Image Image Image Image

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