project: gene_viz_test
organization: DefaultOrg
design_path: /Users/bowang/.openclaw/workspace/ChatDev/yaml_instance/ChatDev_v1.yaml
metadata:
  design_id: ChatDev_v1
  node_count: 26
  edge_count: 54
  start:
  - USER
  - Coding Phase Prompt for Assistant
  end: []
  catalog:
    Code Complete All Phase Loop Counter:
      type: loop_counter
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Test Phase Loop Counter:
      type: loop_counter
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    FINAL:
      type: passthrough
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    USER:
      type: passthrough
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    PSEUDO:
      type: passthrough
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Programmer Code Review:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Programmer. we are both working at ChatDev. We share a common interest
        in collaborating to successfully complete a task assigned by a new customer.

        You can write/create computer software or applications by providing a specific
        programming language to the computer. You have extensive computing and coding
        experience in many varieties of programming languages and platforms, such
        as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.

        You will receive the task from user.

        To complete the task, you must call the functions to save or edit the codes
        that appropriately solves the requested instruction based on your expertise
        and customer''s needs.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: apply_text_edits
        description: Apply ordered line edits with newline and encoding preservation.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file to edit
            start_line:
              type: integer
              description: 1-based line where the replacement should begin
            end_line:
              type: integer
              description: Last line (>= start_line-1) to replace; defaults to start_line
              default: null
            replacement:
              type: string
              description: Text that should replace the selected line range
              default: ''
            encoding:
              type: string
              description: Text encoding or 'auto'
              default: auto
            newline:
              type: string
              description: 'Newline style: ''preserve'', ''lf'', ''crlf'', or ''cr'''
              default: preserve
            ensure_trailing_newline:
              type: boolean
              description: Force presence/absence of trailing newline; default preserves
                original
              default: null
          required:
          - path
          - start_line
      - name: create_folder
        description: Create a directory tree under the workspace.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative folder path
            parents:
              type: boolean
              description: Create missing parent directories
              default: true
            exist_ok:
              type: boolean
              description: Do not raise if folder already exists
              default: true
          required:
          - path
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: delete_path
        description: Delete a workspace file or directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file or folder path
            recursive:
              type: boolean
              description: Allow deleting non-empty directories recursively
              default: false
            missing_ok:
              type: boolean
              description: Suppress error if path is missing
              default: false
          required:
          - path
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: save_file
        description: Persist data to a workspace file while optionally registering
          it as an attachment.
        parameters:
          type: object
          properties:
            path:
              type: string
            content:
              type: string
            encoding:
              type: string
              default: utf-8
            mode:
              enum:
              - overwrite
              - append
              type: string
              default: overwrite
          required:
          - path
          - content
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Programmer Test Modification:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Programmer. we are both working at ChatDev. We share a common interest
        in collaborating to successfully complete a task assigned by a new customer.

        You can write/create computer software or applications by providing a specific
        programming language to the computer. You have extensive computing and coding
        experience in many varieties of programming languages and platforms, such
        as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.

        You will receive the task from user.

        To complete the task, you must call the functions to save or edit the codes
        that appropriately solves the requested instruction based on your expertise
        and customer''s needs.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: apply_text_edits
        description: Apply ordered line edits with newline and encoding preservation.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file to edit
            start_line:
              type: integer
              description: 1-based line where the replacement should begin
            end_line:
              type: integer
              description: Last line (>= start_line-1) to replace; defaults to start_line
              default: null
            replacement:
              type: string
              description: Text that should replace the selected line range
              default: ''
            encoding:
              type: string
              description: Text encoding or 'auto'
              default: auto
            newline:
              type: string
              description: 'Newline style: ''preserve'', ''lf'', ''crlf'', or ''cr'''
              default: preserve
            ensure_trailing_newline:
              type: boolean
              description: Force presence/absence of trailing newline; default preserves
                original
              default: null
          required:
          - path
          - start_line
      - name: create_folder
        description: Create a directory tree under the workspace.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative folder path
            parents:
              type: boolean
              description: Create missing parent directories
              default: true
            exist_ok:
              type: boolean
              description: Do not raise if folder already exists
              default: true
          required:
          - path
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: delete_path
        description: Delete a workspace file or directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file or folder path
            recursive:
              type: boolean
              description: Allow deleting non-empty directories recursively
              default: false
            missing_ok:
              type: boolean
              description: Suppress error if path is missing
              default: false
          required:
          - path
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: save_file
        description: Persist data to a workspace file while optionally registering
          it as an attachment.
        parameters:
          type: object
          properties:
            path:
              type: string
            content:
              type: string
            encoding:
              type: string
              default: utf-8
            mode:
              enum:
              - overwrite
              - append
              type: string
              default: overwrite
          required:
          - path
          - content
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Chief Executive Officer:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Chief Executive Officer. Now, we are both working at ChatDev and we
        share a common interest in collaborating to successfully complete a task assigned
        by a new customer.

        Your main responsibilities include being an active decision-maker on users''
        demands and other key policy issues, leader, manager, and executor. Your decision-making
        role involves high-level decisions about policy and strategy; and your communicator
        role can involve speaking to the organization''s management and employees.

        You will receive the task from user.

        To complete the task, I will give you one or more instructions, and you must
        help me to write a specific solution that appropriately solves the requested
        instruction based on your expertise and my needs.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: apply_text_edits
        description: Apply ordered line edits with newline and encoding preservation.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file to edit
            start_line:
              type: integer
              description: 1-based line where the replacement should begin
            end_line:
              type: integer
              description: Last line (>= start_line-1) to replace; defaults to start_line
              default: null
            replacement:
              type: string
              description: Text that should replace the selected line range
              default: ''
            encoding:
              type: string
              description: Text encoding or 'auto'
              default: auto
            newline:
              type: string
              description: 'Newline style: ''preserve'', ''lf'', ''crlf'', or ''cr'''
              default: preserve
            ensure_trailing_newline:
              type: boolean
              description: Force presence/absence of trailing newline; default preserves
                original
              default: null
          required:
          - path
          - start_line
      - name: create_folder
        description: Create a directory tree under the workspace.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative folder path
            parents:
              type: boolean
              description: Create missing parent directories
              default: true
            exist_ok:
              type: boolean
              description: Do not raise if folder already exists
              default: true
          required:
          - path
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: delete_path
        description: Delete a workspace file or directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file or folder path
            recursive:
              type: boolean
              description: Allow deleting non-empty directories recursively
              default: false
            missing_ok:
              type: boolean
              description: Suppress error if path is missing
              default: false
          required:
          - path
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: save_file
        description: Persist data to a workspace file while optionally registering
          it as an attachment.
        parameters:
          type: object
          properties:
            path:
              type: string
            content:
              type: string
            encoding:
              type: string
              default: utf-8
            mode:
              enum:
              - overwrite
              - append
              type: string
              default: overwrite
          required:
          - path
          - content
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Code Review Comment Phase Prompt for Assistant:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Test Modification Phase Loop Counter:
      type: loop_counter
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Programmer Code Complete:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Programmer. we are both working at ChatDev. We share a common interest
        in collaborating to successfully complete a task assigned by a new customer.

        You can write/create computer software or applications by providing a specific
        programming language to the computer. You have extensive computing and coding
        experience in many varieties of programming languages and platforms, such
        as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.

        You will receive the task from user.

        To complete the task, you must call the functions to save or edit the codes
        that appropriately solves the requested instruction based on your expertise
        and customer''s needs.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: apply_text_edits
        description: Apply ordered line edits with newline and encoding preservation.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file to edit
            start_line:
              type: integer
              description: 1-based line where the replacement should begin
            end_line:
              type: integer
              description: Last line (>= start_line-1) to replace; defaults to start_line
              default: null
            replacement:
              type: string
              description: Text that should replace the selected line range
              default: ''
            encoding:
              type: string
              description: Text encoding or 'auto'
              default: auto
            newline:
              type: string
              description: 'Newline style: ''preserve'', ''lf'', ''crlf'', or ''cr'''
              default: preserve
            ensure_trailing_newline:
              type: boolean
              description: Force presence/absence of trailing newline; default preserves
                original
              default: null
          required:
          - path
          - start_line
      - name: create_folder
        description: Create a directory tree under the workspace.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative folder path
            parents:
              type: boolean
              description: Create missing parent directories
              default: true
            exist_ok:
              type: boolean
              description: Do not raise if folder already exists
              default: true
          required:
          - path
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: delete_path
        description: Delete a workspace file or directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file or folder path
            recursive:
              type: boolean
              description: Allow deleting non-empty directories recursively
              default: false
            missing_ok:
              type: boolean
              description: Suppress error if path is missing
              default: false
          required:
          - path
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: save_file
        description: Persist data to a workspace file while optionally registering
          it as an attachment.
        parameters:
          type: object
          properties:
            path:
              type: string
            content:
              type: string
            encoding:
              type: string
              default: utf-8
            mode:
              enum:
              - overwrite
              - append
              type: string
              default: overwrite
          required:
          - path
          - content
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Code Complete Phase for Assistant:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Programmer Coding:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Programmer. we are both working at ChatDev. We share a common interest
        in collaborating to successfully complete a task assigned by a new customer.

        You can write/create computer software or applications by providing a specific
        programming language to the computer. You have extensive computing and coding
        experience in many varieties of programming languages and platforms, such
        as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.

        You will receive the task from user.

        To complete the task, you must call the functions to save or edit the codes
        that appropriately solves the requested instruction based on your expertise
        and customer''s needs.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: apply_text_edits
        description: Apply ordered line edits with newline and encoding preservation.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file to edit
            start_line:
              type: integer
              description: 1-based line where the replacement should begin
            end_line:
              type: integer
              description: Last line (>= start_line-1) to replace; defaults to start_line
              default: null
            replacement:
              type: string
              description: Text that should replace the selected line range
              default: ''
            encoding:
              type: string
              description: Text encoding or 'auto'
              default: auto
            newline:
              type: string
              description: 'Newline style: ''preserve'', ''lf'', ''crlf'', or ''cr'''
              default: preserve
            ensure_trailing_newline:
              type: boolean
              description: Force presence/absence of trailing newline; default preserves
                original
              default: null
          required:
          - path
          - start_line
      - name: create_folder
        description: Create a directory tree under the workspace.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative folder path
            parents:
              type: boolean
              description: Create missing parent directories
              default: true
            exist_ok:
              type: boolean
              description: Do not raise if folder already exists
              default: true
          required:
          - path
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: delete_path
        description: Delete a workspace file or directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file or folder path
            recursive:
              type: boolean
              description: Allow deleting non-empty directories recursively
              default: false
            missing_ok:
              type: boolean
              description: Suppress error if path is missing
              default: false
          required:
          - path
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: save_file
        description: Persist data to a workspace file while optionally registering
          it as an attachment.
        parameters:
          type: object
          properties:
            path:
              type: string
            content:
              type: string
            encoding:
              type: string
              default: utf-8
            mode:
              enum:
              - overwrite
              - append
              type: string
              default: overwrite
          required:
          - path
          - content
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Test Error Summary Phase Prompt for Assistant:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Chief Product Officer:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Chief Product Officer. we are both working at ChatDev. We share a
        common interest in collaborating to successfully complete a task assigned
        by a new customer.

        You are responsible for all product-related matters in ChatDev. Usually includes
        product design, product strategy, product vision, product innovation, project
        management and product marketing.

        You will receive the task from user.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: apply_text_edits
        description: Apply ordered line edits with newline and encoding preservation.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file to edit
            start_line:
              type: integer
              description: 1-based line where the replacement should begin
            end_line:
              type: integer
              description: Last line (>= start_line-1) to replace; defaults to start_line
              default: null
            replacement:
              type: string
              description: Text that should replace the selected line range
              default: ''
            encoding:
              type: string
              description: Text encoding or 'auto'
              default: auto
            newline:
              type: string
              description: 'Newline style: ''preserve'', ''lf'', ''crlf'', or ''cr'''
              default: preserve
            ensure_trailing_newline:
              type: boolean
              description: Force presence/absence of trailing newline; default preserves
                original
              default: null
          required:
          - path
          - start_line
      - name: create_folder
        description: Create a directory tree under the workspace.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative folder path
            parents:
              type: boolean
              description: Create missing parent directories
              default: true
            exist_ok:
              type: boolean
              description: Do not raise if folder already exists
              default: true
          required:
          - path
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: delete_path
        description: Delete a workspace file or directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file or folder path
            recursive:
              type: boolean
              description: Allow deleting non-empty directories recursively
              default: false
            missing_ok:
              type: boolean
              description: Suppress error if path is missing
              default: false
          required:
          - path
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: save_file
        description: Persist data to a workspace file while optionally registering
          it as an attachment.
        parameters:
          type: object
          properties:
            path:
              type: string
            content:
              type: string
            encoding:
              type: string
              default: utf-8
            mode:
              enum:
              - overwrite
              - append
              type: string
              default: overwrite
          required:
          - path
          - content
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Manual Phase Prompt for Assistant:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Manual Phase Prompt for User:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Programmer Test Error Summary:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Programmer. we are both working at ChatDev. We share a common interest
        in collaborating to successfully complete a task assigned by a new customer.

        You can write/create computer software or applications by providing a specific
        programming language to the computer. You have extensive computing and coding
        experience in many varieties of programming languages and platforms, such
        as Python, Java, C, C++, HTML, CSS, JavaScript, XML, SQL, PHP, etc,.

        You will receive the task from user.

        To complete the task, you must call the functions to save or edit the codes
        that appropriately solves the requested instruction based on your expertise
        and customer''s needs.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Manual Phase Loop Counter:
      type: loop_counter
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Code Reviewer:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Code Reviewer. we are both working at ChatDev. We share a common interest
        in collaborating to successfully complete a task assigned by a new customer.

        You can help programmers to assess source codes for software troubleshooting,
        fix bugs to increase code quality and robustness, and offer proposals to improve
        the source codes.

        You will receive the task from user.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Code Review Modification Phase Prompt for Assistant:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Test Modification Phase Prompt for Assistant:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Test Modification Phase Prompt for User:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Coding Phase Prompt for Assistant:
      type: literal
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
    Software Test Engineer:
      type: agent
      description: null
      model_name: gpt-4o
      role: 'ChatDev is a software company powered by multiple intelligent agents,
        such as chief executive officer, chief human resources officer, chief product
        officer, chief technology officer, etc, with a multi-agent organizational
        structure and the mission of \"changing the digital world through programming\".

        You are Software Test Engineer. we are both working at ChatDev. We share a
        common interest in collaborating to successfully complete a task assigned
        by a new customer.

        You can use the software as intended to analyze its functional properties,
        design manual and automated test procedures to evaluate each software product,
        build and implement software evaluation test programs, and run test programs
        to ensure that testing protocols evaluate the software correctly.

        You will receive the task from user.


        If you need to run the code, don''t forget to set timeout.

        [CRITICAL INSTRUCTION FOR TIMEOUTS]

        Since the target program might be an endless loop application (e.g., a Snake
        game, a GUI app, or a server), the test runner MUST use a timeout to terminate
        it.

        If the test report shows `"timed_out": True`, you must analyze the `stdout`
        and `stderr`:

        1. **Pass**: If the logs indicate the application started successfully (e.g.,
        "Game started", "Listening on port", or simply running without crashing) and
        was eventually killed by the timeout, **DO NOT classify this as a bug**. You
        should consider this a successful run.

        2. **Fail**: Only classify a timeout as a bug if the program was supposed
        to finish quickly (like a calculation script) but hung, or if it produced
        no output/errors before timing out.'
      tools:
      - name: init_python_env
        description: Run uv lock and uv venv inside the workspace.
        parameters:
          type: object
          properties:
            python_version:
              type: string
              default: null
      - name: install_python_packages
        description: Install Python packages inside the workspace using uv add.
        parameters:
          type: object
          properties:
            packages:
              type: array
              items:
                type: string
            upgrade:
              type: boolean
              default: false
          required:
          - packages
      - name: uv_run
        description: Execute uv run for a module or script inside the workspace root.
        parameters:
          type: object
          properties:
            module:
              type: string
              default: null
            script:
              type: string
              default: null
            args:
              type: array
              items:
                type: string
              default: null
            env:
              type: object
              default: null
            timeout_seconds:
              type: string
              default: null
      - name: apply_text_edits
        description: Apply ordered line edits with newline and encoding preservation.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file to edit
            start_line:
              type: integer
              description: 1-based line where the replacement should begin
            end_line:
              type: integer
              description: Last line (>= start_line-1) to replace; defaults to start_line
              default: null
            replacement:
              type: string
              description: Text that should replace the selected line range
              default: ''
            encoding:
              type: string
              description: Text encoding or 'auto'
              default: auto
            newline:
              type: string
              description: 'Newline style: ''preserve'', ''lf'', ''crlf'', or ''cr'''
              default: preserve
            ensure_trailing_newline:
              type: boolean
              description: Force presence/absence of trailing newline; default preserves
                original
              default: null
          required:
          - path
          - start_line
      - name: create_folder
        description: Create a directory tree under the workspace.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative folder path
            parents:
              type: boolean
              description: Create missing parent directories
              default: true
            exist_ok:
              type: boolean
              description: Do not raise if folder already exists
              default: true
          required:
          - path
      - name: describe_available_files
        description: List accessible files from the attachment store and the current
          code_workspace.
        parameters:
          type: object
          properties:
            recursive:
              type: boolean
              default: true
            limit:
              type: integer
              default: 200
            include_hidden:
              type: boolean
              default: false
      - name: delete_path
        description: Delete a workspace file or directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative file or folder path
            recursive:
              type: boolean
              description: Allow deleting non-empty directories recursively
              default: false
            missing_ok:
              type: boolean
              description: Suppress error if path is missing
              default: false
          required:
          - path
      - name: read_file_segment
        description: Read a line range plus metadata from a workspace file.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative text file path
            start_line:
              type: integer
              description: 1-based line to begin the snippet
              default: 1
            line_count:
              type: integer
              description: Number of lines to include starting from start_line
              default: 40
            inline_line_numbers:
              type: boolean
              description: If true, prefix each snippet line with its line number
                inside the snippet
              default: false
            encoding:
              type: string
              description: Explicit encoding or 'auto'
              default: auto
            include_line_offsets:
              type: boolean
              description: Include 1-based line metadata for the returned snippet
              default: false
          required:
          - path
      - name: search_in_files
        description: Search workspace files and return structured matches.
        parameters:
          type: object
          properties:
            pattern:
              type: string
              description: Plain text or regex pattern
            globs:
              type: array
              items:
                type: string
              description: Restrict search to these glob patterns
              default: null
            exclude_globs:
              type: array
              items:
                type: string
              description: Glob patterns to exclude
              default: null
            use_regex:
              type: boolean
              description: Treat pattern as regex
              default: true
            case_sensitive:
              type: boolean
              description: Match case when True
              default: false
            max_results:
              type: integer
              description: Stop after this many matches
              default: 200
            before_context:
              type: integer
              description: Lines to include before match
              default: 2
            after_context:
              type: integer
              description: Lines to include after match
              default: 2
            include_hidden:
              type: boolean
              description: Search hidden files/folders
              default: false
          required:
          - pattern
      - name: save_file
        description: Persist data to a workspace file while optionally registering
          it as an attachment.
        parameters:
          type: object
          properties:
            path:
              type: string
            content:
              type: string
            encoding:
              type: string
              default: utf-8
            mode:
              enum:
              - overwrite
              - append
              type: string
              default: overwrite
          required:
          - path
          - content
      - name: list_directory
        description: List contents of a workspace-relative directory.
        parameters:
          type: object
          properties:
            path:
              type: string
              description: Workspace-relative directory path
              default: .
            recursive:
              type: boolean
              description: Traverse subdirectories
              default: false
            max_depth:
              type: integer
              description: Maximum depth when recursive=True
              default: 3
            include_hidden:
              type: boolean
              description: Include entries starting with '.'
              default: false
            limit:
              type: integer
              description: Maximum entries to return
              default: 500
      memories: []
      params: {}
    Code Review Phase Loop Counter:
      type: loop_counter
      description: null
      model_name: null
      role: null
      tools: []
      memories: []
      params: {}
  topology:
  - __CYCLE_AWARE__
  layers:
  - - __CYCLE_AWARE__
