summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2025-07-19 22:00:08 +0100
committerJoe Carstairs <me@joeac.net>2025-07-19 22:00:08 +0100
commitadd720e9c67019785bf7bc2fd21ec87c348e49f0 (patch)
tree4fd2168d9cd603793dcb007291116d016a829c1d
parent763f2215572d9615501073fd7d1b5e8b79bd4c54 (diff)
add epic-008, task-047, task-048, task-049, task-050
-rw-r--r--requirements/catalogue/req-071.md2
-rw-r--r--requirements/catalogue/req-072.md2
-rw-r--r--requirements/catalogue/req-073.md2
-rw-r--r--requirements/tasks/epic-008.md11
-rw-r--r--requirements/tasks/task-047.md9
-rw-r--r--requirements/tasks/task-048.md7
-rw-r--r--requirements/tasks/task-049.md11
-rw-r--r--requirements/tasks/task-050.md10
8 files changed, 54 insertions, 0 deletions
diff --git a/requirements/catalogue/req-071.md b/requirements/catalogue/req-071.md
index 42f8e2d..64037f1 100644
--- a/requirements/catalogue/req-071.md
+++ b/requirements/catalogue/req-071.md
@@ -6,3 +6,5 @@ under the pretence that `is_bucket_balance_up_to_date(bucket)` returns FALSE
would leave the bucket's `balance` and `balance_cache_key` unchanged.
Source: req-070
+
+Satisfied by: task-050
diff --git a/requirements/catalogue/req-072.md b/requirements/catalogue/req-072.md
index f8b8ca3..17db8ec 100644
--- a/requirements/catalogue/req-072.md
+++ b/requirements/catalogue/req-072.md
@@ -3,3 +3,5 @@
Schist must never delete or update drips.
Source: req-071
+
+Satisfied by: task-048
diff --git a/requirements/catalogue/req-073.md b/requirements/catalogue/req-073.md
index b6710de..bc513d0 100644
--- a/requirements/catalogue/req-073.md
+++ b/requirements/catalogue/req-073.md
@@ -7,3 +7,5 @@ that `is_bucket_balance_up_to_date(bucket)` as described in req-035 returns
FALSE.
Source: req-070
+
+Satisfied by: task-049
diff --git a/requirements/tasks/epic-008.md b/requirements/tasks/epic-008.md
new file mode 100644
index 0000000..b2b0d5b
--- /dev/null
+++ b/requirements/tasks/epic-008.md
@@ -0,0 +1,11 @@
+# epic-008
+
+This Epic is to implement a testing strategy which guarantees the correctness of
+the data after all updates.
+
+Status: not ready
+
+- [ ] task-047 (test plan)
+- [ ] task-048 (immutable drips)
+- [ ] task-049 (mutating transactions forces correction of bucket balances)
+- [ ] task-050 (up-to-date bucket balance cache key guarantees correct balance)
diff --git a/requirements/tasks/task-047.md b/requirements/tasks/task-047.md
new file mode 100644
index 0000000..563212a
--- /dev/null
+++ b/requirements/tasks/task-047.md
@@ -0,0 +1,9 @@
+# task-047
+
+Design a testing strategy whereby a collection of database validations can be
+run after every update operation on the database throughout a suite of automated
+test scenarios.
+
+Source: epic-008
+
+Epic: epic-008
diff --git a/requirements/tasks/task-048.md b/requirements/tasks/task-048.md
new file mode 100644
index 0000000..ce943bc
--- /dev/null
+++ b/requirements/tasks/task-048.md
@@ -0,0 +1,7 @@
+# task-048
+
+Schist must never delete or update drips.
+
+Source: req-072
+
+Epic: epic-008
diff --git a/requirements/tasks/task-049.md b/requirements/tasks/task-049.md
new file mode 100644
index 0000000..0ebd22d
--- /dev/null
+++ b/requirements/tasks/task-049.md
@@ -0,0 +1,11 @@
+# task-049
+
+Whenever a transaction in Schist is deleted or updated, if the transaction
+belongs to a bucket, `bucket`, then Schist must run the procedure,
+`calculate_bucket_balance(bucket)`, as described in req-030, under the pretence
+that `is_bucket_balance_up_to_date(bucket)` as described in req-035 returns
+FALSE.
+
+Source: req-073
+
+Epic: epic-008
diff --git a/requirements/tasks/task-050.md b/requirements/tasks/task-050.md
new file mode 100644
index 0000000..43b0be5
--- /dev/null
+++ b/requirements/tasks/task-050.md
@@ -0,0 +1,10 @@
+# task-050
+
+Every time a bucket's `balance` or `balance_cache_key` properties are set or
+updated, it must be the case that running `calculate_bucket_balance(bucket)`
+under the pretence that `is_bucket_balance_up_to_date(bucket)` returns FALSE
+would leave the bucket's `balance` and `balance_cache_key` unchanged.
+
+Source: req-071
+
+Epic: epic-008