Syntax:
  wxCondition -g {donorLoc}
  wxCondition -ps {srcLoc}
  wxCondition -p [-pr o/a] {srcLoc} {donorLoc} {instrStr}
  (see the Syntax Spreadsheet}


TO-DO:
------
Sprint 3
Item 9
Feat 3
Bug 3


CURRENT ITEMS:
==============
[Sprint 3 (commencement date)]
  [Feat 3 (2019-05-07)]
    Introduce instruction-string directive F{Value}. Use this as a fallback value if argument values are missing.
  [Item 8 (2019-01-10)]
    Convert the value-finder routine to binary search


COMPLETED ITEMS:
================
  2018-12-16:
  [Sprint 1 (2018-12-16)]
    [Item 1]
      Expand maximum readings to one-thousand
      Store readings in separate files according to the source
      Implemented and tested 2019-12-16.
    [Item 2]
      Remove application of, and all references to, random-walk value.
      Implemented and tested 2019-12-16.
    [Item 3]
      Add several parameters to control the source and donor locations, and the processing string
      - pr O|A
      - {donorLocCode}
      - Instruction String
      Implemented and tested 2019-12-16.
      See the Syntax Spreadsheet.
    SPRINT CLEARED FOR RELEASE, 2018-12-16.

2018-09-24:
[Bug 1 (2018-09-23)]
  Program chokes if input file is empty. Build in some simple protection from that.
  Fixed 2018-09-24.
[Feat 1 (2018-09-23)]
  Make the following change:
  - Pending (manually-entered) readings are stored in 'mcc_pending_readings.txt', in exactly the same format as a normal observations file.
  - mcCondition reads it (if present) and substitutes any readings thus given.
    - mcCondition will have to parse and reassemble the input line. This shouldn't be a problem.
    - Command-line flag to tell mcCondition whether to do its usual processing, in which case:
      - Process first
      - Substitute readings second (they have priority)
  Implemented 2018-09-24.

2018-09-26:
[Bug 2 (2018-09-26)]
  Multiple terms in the observations string fuck up wxCondition.
  Fixed and tested 2018-09-26.

2019-01-13:
[Sprint 2 (commencement date) to v2.10]
  [Bug 3 (2019-01-10)]
    Source file is deleted without always being rewritten.
    Change to delete-only-on-write
    Believe fixed 2019-01-10.
  [Item 9 (2019-01-10)]
    Remove the separator between opcode and operand.
    Implemented 2019-01-10.
  [Item 4 (2019-01-10)]
    Additions to the instructions string Instruction Declaration:
      S{Value} - Replace Source value with Donor value, if Source value is less than {Value}
      Implemented 2019-01-10.
  [Item 5 (2019-01-10)]
    Additions to the instructions string Instruction Declaration:
      G{Value} - Replace Source value with Donor value, if Source value is greater than {Value}
      Implemented 2019-01-10.
  [Item 6 (2019-01-10)]
    Additions to the instructions string Instruction Declaration:
      E{Value} - Replace Source value with Donor value, if Source value is equal to {Value}
      Implemented 2019-01-10.
  [Item 7 (2019-01-10)]
    Additions to the instructions string Instruction Declaration:
      A - Replace Source with the average of Source and Donor values
      Implemented 2019-01-10.
  All: See the Syntax Spreadsheet
  [Deployment Notes:]
    - Procedure for safely editing the calling scripts:
      - Move the current version of wxCondition into backups
      - Edit the calling scripts (probably 2)
        - Remove separators between operands and opcodes
      - Copy over the new version and make executable
  [Test Sequence:]
    - Copy over fresh observations files and rename appropriately
    - Regression test not needed at this point
    - Test with bad parameters to trigger an internal error
      - Source file should remain untouched
    - Test all four new parameters
      - Verify results
    All tested 2019-01-13. Released same day.


