<commit_before>$base: "https://w3id.org/cwl/cwl#"

$namespaces:
  cwl: "https://w3id.org/cwl/cwl#"

$graph:

- name: CommandLineToolDoc
  type: documentation
  doc:
    - |
      # Common Workflow Language (CWL) Command Line Tool Description, v1.0

      This version:
        * https://w3id.org/cwl/v1.0/

      Current version:
        * https://w3id.org/cwl/
    - "\n\n"
    - {$include: contrib.md}
    - "\n\n"
    - |
      # Abstract

      A Command Line Tool is a non-interactive executable program that reads
      some input, performs a computation, and terminates after producing some
      output.  Command line programs are a flexible unit of code sharing and
      reuse, unfortunately the syntax and input/output semantics among command
      line programs is extremely heterogeneous. A common layer for describing
      the syntax and semantics of programs can reduce this incidental
      complexity by providing a consistent way to connect programs together.
      This specification defines the Common Workflow Language (CWL) Command
      Line Tool Description, a vendor-neutral standard for describing the
      syntax and input/output semantics of command line programs.

    - {$include: intro.md}

    - |
      ## Introduction to CWL Command Line Tool standard v1.0

      This specification represents the first full release from the CWL group.
      Since draft-3, version 1.0 introduces the following changes and additions
      to the CWL Command Line Tool standard:

        * The [Directory](#Directory) type.
        * Syntax simplifcations: denoted by the `map<>` syntax. Example: inputs
          contains a list of items, each with an id. Now one can specify
          a mapping of that identifier to the corresponding
          `CommandInputParamater`.
          ```
          inputs:
           - id: one
             type: string
             doc: First input parameter
           - id: two
             type: int
             doc: Second input parameter
          ```
          can be
          ```
          inputs:
           one:
            type: string
            doc: First input parameter
           two:
            type: int
            doc: Second input parameter
          ```
        * [InitialWorkDirRequirement](#InitialWorkDirRequirement): list of
          files and subdirectories to be present in the output directory prior
          to execution.
        * Shortcuts for specifying the standard [output](#stdout) and/or
          [error](#stderr) streams as a (streamable) File output.
        * [SoftwareRequirement](#SoftwareRequirement) for describing software
          dependencies of a tool.
        * The common `description` field has been renamed to `doc`.

      ## Errata

      Post v1.0 release changes to the spec.

        * 13 July 2016: Mark `baseCommand` as optional and update descriptive text.

      ## Purpose

      Standalone programs are a flexible and interoperable form of code reuse.
      Unlike monolithic applications, applications and analysis workflows which
      are composed of multiple separate programs can be written in multiple
      languages and execute concurrently on multiple hosts.  However, POSIX
      does not dictate computer-readable grammar or semantics for program input
      and output, resulting in extremely heterogeneous command line grammar and
      input/output semantics among program.  This is a particular problem in
      distributed computing (multi-node compute clusters) and virtualized
      environments (such as Docker containers) where it is often necessary to
      provision resources such as input files before executing the program.

      Often this gap is filled by hard coding program invocation and
      implicitly assuming requirements will be met, or abstracting program<commit_msg>Bump to version 1.0.1. Add change of treatment `default` field as errata.<commit_after>$base: "https://w3id.org/cwl/cwl#"

$namespaces:
  cwl: "https://w3id.org/cwl/cwl#"

$graph:

- name: CommandLineToolDoc
  type: documentation
  doc:
    - |
      # Common Workflow Language (CWL) Command Line Tool Description, v1.0.1

      This version:
        * https://w3id.org/cwl/v1.0/

      Current version:
        * https://w3id.org/cwl/
    - "\n\n"
    - {$include: contrib.md}
    - "\n\n"
    - |
      # Abstract

      A Command Line Tool is a non-interactive executable program that reads
      some input, performs a computation, and terminates after producing some
      output.  Command line programs are a flexible unit of code sharing and
      reuse, unfortunately the syntax and input/output semantics among command
      line programs is extremely heterogeneous. A common layer for describing
      the syntax and semantics of programs can reduce this incidental
      complexity by providing a consistent way to connect programs together.
      This specification defines the Common Workflow Language (CWL) Command
      Line Tool Description, a vendor-neutral standard for describing the
      syntax and input/output semantics of command line programs.

    - {$include: intro.md}

    - |
      ## Introduction to CWL Command Line Tool standard v1.0

      This specification represents the first full release from the CWL group.
      Since draft-3, version 1.0 introduces the following changes and additions
      to the CWL Command Line Tool standard:

        * The [Directory](#Directory) type.
        * Syntax simplifcations: denoted by the `map<>` syntax. Example: inputs
          contains a list of items, each with an id. Now one can specify
          a mapping of that identifier to the corresponding
          `CommandInputParamater`.
          ```
          inputs:
           - id: one
             type: string
             doc: First input parameter
           - id: two
             type: int
             doc: Second input parameter
          ```
          can be
          ```
          inputs:
           one:
            type: string
            doc: First input parameter
           two:
            type: int
            doc: Second input parameter
          ```
        * [InitialWorkDirRequirement](#InitialWorkDirRequirement): list of
          files and subdirectories to be present in the output directory prior
          to execution.
        * Shortcuts for specifying the standard [output](#stdout) and/or
          [error](#stderr) streams as a (streamable) File output.
        * [SoftwareRequirement](#SoftwareRequirement) for describing software
          dependencies of a tool.
        * The common `description` field has been renamed to `doc`.

      ## Errata

      Post v1.0 release changes to the spec.

        * 13 July 2016: Mark `baseCommand` as optional and update descriptive text.
        * 12 March 2017: (v1.0.1) Mark `default` as not required for link checking.

      ## Purpose

      Standalone programs are a flexible and interoperable form of code reuse.
      Unlike monolithic applications, applications and analysis workflows which
      are composed of multiple separate programs can be written in multiple
      languages and execute concurrently on multiple hosts.  However, POSIX
      does not dictate computer-readable grammar or semantics for program input
      and output, resulting in extremely heterogeneous command line grammar and
      input/output semantics among program.  This is a particular problem in
      distributed computing (multi-node compute clusters) and virtualized
      environments (such as Docker containers) where it is often necessary to
      provision resources such as input files before executing the program.

      Often this gap is filled by hard coding program invocation and
      implicitly assuming requirements will be met, or abstracting program
{'fraction_non_alphanumeric': 0.05745062836624776, 'fraction_numerical': 0.007053090536034881, 'mean_word_length': 2.401221107719145, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3710412', 'n_tokens_mistral': 1934, 'n_tokens_neox': 1806, 'n_words': 860}