# MedGauge task-submission form: example.
# A toy, non-medical task (find the misspelt words in a short word list) that shows the shape of a
# filled form. Every id and hash below is a placeholder: the family, capability, standard and grading
# reference ids are not registered entries, and the hashes are not hashes of real files.
# It passes the submission check:
#   node medgauge-submission-check.mjs check medgauge-task-submission-example.yaml

methodology_version: "0.1.0"
family: bm-example-toy
capabilities: [A.1]
intended_subset: dev

materials:
  sha256: "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  origin_kind: synthetic

artifact_contract_sha256: "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

checks:
  - id: misspelt-words-listed
    condition: Always
    field: findings[].word
    rule: Lists every word the task rules mark as misspelt, and no other word
    polarity: must
    form: program
    veto: false
    layer: capability
    provenance:
      kind: task_internal_rule
      task_rules: rules/spelling-rules.md
  - id: input-list-unchanged
    condition: Always
    field: input_copy
    rule: Equals the word list given in the materials, unchanged
    polarity: must
    form: program
    veto: false
    layer: role_bound_constraint
    provenance:
      kind: grading_reference
      grading_reference: gr-example-placeholder

verifier:
  reference: verifier/verify.py
  version: "0.1.0"
  sha256: "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"

reference_solution_sha256: "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
conformant_alternative_sha256: "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"

difficulty_components:
  required_steps: 3
  dependency_depth: 2
  information_sources: 2
  distractors: 0
  ambiguous_judgement_points: 0

labels:
  t1_horizon: short
  t2_environment: static_materials
  t3_specialties: one
  t4_modalities: [text]
  t5_omics:
    kind: not_applicable
  t6_interaction: independent
  t7_knowledge_currency: not_applicable
  t8_jurisdiction:
    standards: [std-example-placeholder]
    region: not applicable (toy example)
  t9_scale: single_case
  t10_risk: low

action_granularity:
  unit: one write of one artifact field

checkpoints_total: 2

required_actions:
  actions:
    - id: read-word-list
    - id: read-task-rules
    - id: write-findings
  precedence:
    - [read-word-list, write-findings]
    - [read-task-rules, write-findings]

veto_categories: [altered_input]

reference_solution:
  action_count: 3

declarations:
  no_identifiable_information: true
  no_origin_identifiers: true
  not_a_measured_party_holdout: true
  no_answer_key_for_existing_task: true
  not_published_elsewhere: true
  rights_to_license: true
