BUG-HUNT: [consistency] Tab characters in YAML files violate specification and cause parsing failures #7284

Open
opened 2026-04-10 15:02:12 +00:00 by HAL9000 · 4 comments
Owner

Metadata

  • Branch: fix/yaml-tab-characters-in-examples
  • Commit Message: fix(examples): replace tab characters with spaces in YAML configuration files
  • Milestone: (none — see backlog note below)
  • Parent Epic: (orphan — see note below)

Summary

Multiple YAML configuration files in examples/ contain tab characters which violate the YAML specification (YAML 1.2 §6.1 explicitly forbids tab characters as indentation). This causes YAML parsers to reject these files or produce unpredictable results, directly undermining the reliability of all shipped examples and the user experience for anyone following the documentation.

Category: consistency
Severity: High
Evidence: grep -rl $'^ ' examples/ reveals 15 files with tab characters at line beginnings.

Files Affected

  • examples/actors/code_review.yaml
  • examples/actors/estimator.yaml
  • examples/actors/graph_workflow.yaml
  • examples/actors/hierarchical_workflow.yaml
  • examples/actors/llm_with_tools.yaml
  • examples/actors/simple_graph.yaml
  • examples/actors/simple_llm.yaml
  • examples/actors/strategy_with_subplan.yaml
  • examples/actors/tool_collection.yaml
  • examples/skills/composed.yaml
  • examples/skills/single-tool.yaml
  • examples/tools/custom-tool.yaml
  • examples/tools/mcp-tool.yaml
  • examples/validations/required-validation.yaml
  • examples/validations/wrapped-validation.yaml

Impact

YAML parsers (PyYAML, ruamel.yaml, etc.) raise yaml.scanner.ScannerError on tab-indented content. Any user who copies or loads these example files will encounter immediate parse failures. This also breaks any CI step that validates example files.

Expected Behaviour

All YAML files must use spaces for indentation per the YAML 1.2 specification. The project standard is 2 spaces per indentation level.

Suggested Fix

Replace all tab characters with the appropriate number of spaces (2 spaces per indentation level). A one-liner to fix all affected files:

for f in examples/actors/*.yaml examples/skills/*.yaml examples/tools/*.yaml examples/validations/*.yaml; do
    expand -t 2 "$f" > "$f.tmp" && mv "$f.tmp" "$f"
done

Verify with:

grep -rl $'^	' examples/ && echo "TABS FOUND" || echo "Clean"

Subtasks

  • Audit all 15 affected YAML files and confirm tab character locations
  • Replace tab characters with 2-space indentation in all affected files
  • Verify no YAML parsing errors remain (python3 -c "import yaml; yaml.safe_load(open('FILE'))" for each)
  • Add a pre-commit hook or CI lint step to prevent tab re-introduction in YAML files
  • Update any related BDD/Robot test fixtures that load these example files

Definition of Done

  • All 15 listed YAML files parse without error using yaml.safe_load()
  • grep -rl $'^ ' examples/ returns no results
  • A lint/pre-commit guard prevents future tab introduction in YAML files
  • All nox stages pass
  • Coverage >= 97%

Backlog note: This issue was discovered during autonomous operation
on milestone <unspecified>. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.

⚠️ Orphan notice: No suitable parent Epic was found for this issue during automated creation. This issue must be manually linked to an appropriate parent Epic (e.g., an examples quality or consistency Epic) before work begins. Orphan issues are not permitted per CONTRIBUTING.md.


Automated by CleverAgents Bot
Supervisor: Acting on behalf of: UAT Testing | Agent: new-issue-creator

## Metadata - **Branch**: `fix/yaml-tab-characters-in-examples` - **Commit Message**: `fix(examples): replace tab characters with spaces in YAML configuration files` - **Milestone**: *(none — see backlog note below)* - **Parent Epic**: *(orphan — see note below)* --- ## Summary Multiple YAML configuration files in `examples/` contain tab characters which violate the YAML specification (YAML 1.2 §6.1 explicitly forbids tab characters as indentation). This causes YAML parsers to reject these files or produce unpredictable results, directly undermining the reliability of all shipped examples and the user experience for anyone following the documentation. **Category**: consistency **Severity**: High **Evidence**: `grep -rl $'^ ' examples/` reveals 15 files with tab characters at line beginnings. ## Files Affected - `examples/actors/code_review.yaml` - `examples/actors/estimator.yaml` - `examples/actors/graph_workflow.yaml` - `examples/actors/hierarchical_workflow.yaml` - `examples/actors/llm_with_tools.yaml` - `examples/actors/simple_graph.yaml` - `examples/actors/simple_llm.yaml` - `examples/actors/strategy_with_subplan.yaml` - `examples/actors/tool_collection.yaml` - `examples/skills/composed.yaml` - `examples/skills/single-tool.yaml` - `examples/tools/custom-tool.yaml` - `examples/tools/mcp-tool.yaml` - `examples/validations/required-validation.yaml` - `examples/validations/wrapped-validation.yaml` ## Impact YAML parsers (PyYAML, ruamel.yaml, etc.) raise `yaml.scanner.ScannerError` on tab-indented content. Any user who copies or loads these example files will encounter immediate parse failures. This also breaks any CI step that validates example files. ## Expected Behaviour All YAML files must use spaces for indentation per the YAML 1.2 specification. The project standard is 2 spaces per indentation level. ## Suggested Fix Replace all tab characters with the appropriate number of spaces (2 spaces per indentation level). A one-liner to fix all affected files: ```bash for f in examples/actors/*.yaml examples/skills/*.yaml examples/tools/*.yaml examples/validations/*.yaml; do expand -t 2 "$f" > "$f.tmp" && mv "$f.tmp" "$f" done ``` Verify with: ```bash grep -rl $'^ ' examples/ && echo "TABS FOUND" || echo "Clean" ``` --- ## Subtasks - [ ] Audit all 15 affected YAML files and confirm tab character locations - [ ] Replace tab characters with 2-space indentation in all affected files - [ ] Verify no YAML parsing errors remain (`python3 -c "import yaml; yaml.safe_load(open('FILE'))"` for each) - [ ] Add a pre-commit hook or CI lint step to prevent tab re-introduction in YAML files - [ ] Update any related BDD/Robot test fixtures that load these example files ## Definition of Done - [ ] All 15 listed YAML files parse without error using `yaml.safe_load()` - [ ] `grep -rl $'^ ' examples/` returns no results - [ ] A lint/pre-commit guard prevents future tab introduction in YAML files - [ ] All nox stages pass - [ ] Coverage >= 97% --- > **Backlog note:** This issue was discovered during autonomous operation > on milestone \<unspecified\>. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. > ⚠️ **Orphan notice:** No suitable parent Epic was found for this issue during automated creation. This issue must be manually linked to an appropriate parent Epic (e.g., an examples quality or consistency Epic) before work begins. Orphan issues are not permitted per `CONTRIBUTING.md`. --- **Automated by CleverAgents Bot** Supervisor: Acting on behalf of: UAT Testing | Agent: new-issue-creator
Author
Owner

⚠️ Orphan Issue — Manual Epic Linking Required

This issue was created by the automated new-issue-creator agent. During creation, an exhaustive search of open Type/Epic issues was performed across 8 pages of results. No suitable parent Epic was found for this issue category (examples/ YAML consistency / file quality).

Per CONTRIBUTING.md, orphan issues are not permitted. A project maintainer must:

  1. Identify or create an appropriate parent Epic (e.g., an "examples quality" or "YAML consistency" Epic)
  2. Link this issue as a child using Forgejo dependency tracking:
    • This issue (#7284) should block the parent Epic
    • The parent Epic should depend on this issue

Suggested Epic candidates to check:

  • Any open Epic covering examples/ directory quality
  • Any open Epic covering YAML configuration file standards
  • Any open Epic covering code consistency / linting

Automated by CleverAgents Bot
Supervisor: Acting on behalf of: UAT Testing | Agent: new-issue-creator

## ⚠️ Orphan Issue — Manual Epic Linking Required This issue was created by the automated new-issue-creator agent. During creation, an exhaustive search of open `Type/Epic` issues was performed across 8 pages of results. **No suitable parent Epic was found** for this issue category (examples/ YAML consistency / file quality). Per `CONTRIBUTING.md`, orphan issues are **not permitted**. A project maintainer must: 1. Identify or create an appropriate parent Epic (e.g., an "examples quality" or "YAML consistency" Epic) 2. Link this issue as a child using Forgejo dependency tracking: - This issue (`#7284`) should **block** the parent Epic - The parent Epic should **depend on** this issue Suggested Epic candidates to check: - Any open Epic covering `examples/` directory quality - Any open Epic covering YAML configuration file standards - Any open Epic covering code consistency / linting --- **Automated by CleverAgents Bot** Supervisor: Acting on behalf of: UAT Testing | Agent: new-issue-creator
Author
Owner

Verified — Critical consistency bug: tab characters in YAML files cause parsing failures. MoSCoW: Must-have. Priority: Critical.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

✅ **Verified** — Critical consistency bug: tab characters in YAML files cause parsing failures. MoSCoW: Must-have. Priority: Critical. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Author
Owner

Verified — Critical consistency bug: tab characters in YAML files cause parsing failures. MoSCoW: Must-have. Priority: Critical.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

✅ **Verified** — Critical consistency bug: tab characters in YAML files cause parsing failures. MoSCoW: Must-have. Priority: Critical. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Author
Owner

Verified — Critical consistency bug: tab characters in YAML files cause parsing failures. MoSCoW: Must-have. Priority: Critical.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

✅ **Verified** — Critical consistency bug: tab characters in YAML files cause parsing failures. MoSCoW: Must-have. Priority: Critical. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#7284
No description provided.