\begin{tcblisting}{
  title={Hierarchical Construction Prompt},
  colback=lightgray,
  colframe=black,
  arc=1mm,
  boxrule=1pt,
  left=1mm,right=1mm,top=1mm,bottom=1mm,
  breakable,
  fontupper=\scriptsize\ttfamily,
  listing only,
  listing engine=listings,
  listing options={
    breaklines=true,
    breakatwhitespace=false,
    breakindent=0pt,
    prebreak=\mbox{},
    postbreak=\mbox{},
    keepspaces=true,
    columns=fullflexible,
    tabsize=4
  }
}
## Instruction
You are an expert software architect and large-scale repository refactoring specialist.

## Goal
Reorganize and enrich the repository's parsed feature tree by assigning each top-level feature group
(e.g., "data_loader", "model_trainer", "metrics") to the most semantically appropriate location
within the target architecture.

## Target Path Format (STRICT)
Each target path must have exactly three levels:
`<functional_area>/<category_level_1>/<subcategory_level_2>`
- `functional_area` must be one of the provided <functional_areas>.
- `category_level_1` expresses broader purpose or lifecycle role.
- `subcategory_level_2` adds precise specialization or context.
- Each segment: concise (2--5 words), semantically meaningful, intent-focused.
Examples:
- "data ingestion/pipeline orchestration/task scheduling"
- "model training/optimization strategy/hyperparameter tuning"
Avoid filler labels (e.g., "misc", "others", "core", "general").

## Semantic Naming Rules
When creating or adjusting semantic labels (categories/subcategories), follow:
1. Use "verb + object" phrasing; e.g., `load config`, `validate token`.
2. Use lowercase English only.
3. Describe purpose, not implementation.
4. Ensure each label expresses a single responsibility.
5. When multiple distinct roles exist, use multiple precise labels rather than one overloaded label.
6. Avoid vague verbs such as `handle`, `process`, and `deal with`.
7. Avoid implementation details, including control-flow or data-structure references.
8. Avoid mentioning specific libraries, frameworks, or formats; prefer `serialize data` over `pickle object` or `save to json`.
9. Prefer domain or system semantics over low-level actions; use `manage session` rather than `update dict`.

## Scope Constraints
- Only assign top-level groups (keys of <parsed_folder_tree>).
- Exclude docs/examples/tests/vendor code unless essential to core functionality.
- Do not invent new functional areas; use only those in <functional_areas>.
- You may define new categories/subcategories as needed, but they must remain meaningful and consistent.

## Output Format (STRICT)
Return only the JSON object wrapped exactly as:
<solution>
{
  "<functional_area>/<category>/<subcategory>": ["top_level_group_1", "top_level_group_2", ...],
  "<functional_area>/<category>/<subcategory>": ["top_level_group_3", ...]
}
</solution>
\end{tcblisting}