summaryrefslogtreecommitdiff
path: root/requirements
diff options
context:
space:
mode:
Diffstat (limited to 'requirements')
-rw-r--r--requirements/architecture/arch-v1.md9
-rw-r--r--requirements/assumptions/ass-000.md2
-rw-r--r--requirements/assumptions/ass-004.md4
-rw-r--r--requirements/assumptions/ass-008.md2
-rw-r--r--requirements/assumptions/ass-013.md2
-rw-r--r--requirements/catalogue/req-003.md10
-rw-r--r--requirements/catalogue/req-005.md6
-rw-r--r--requirements/catalogue/req-017.md5
-rw-r--r--requirements/catalogue/req-018.md4
-rw-r--r--requirements/catalogue/req-020.md6
-rw-r--r--requirements/catalogue/req-025.md2
-rw-r--r--requirements/catalogue/req-026.md2
-rw-r--r--requirements/catalogue/req-028.md6
-rw-r--r--requirements/catalogue/req-029.md6
-rw-r--r--requirements/catalogue/req-030.md7
-rw-r--r--requirements/catalogue/req-032.md2
-rw-r--r--requirements/catalogue/req-033.md3
-rw-r--r--requirements/catalogue/req-035.md4
-rw-r--r--requirements/catalogue/req-036.md2
-rw-r--r--requirements/catalogue/req-037.md6
-rw-r--r--requirements/catalogue/req-038.md2
-rw-r--r--requirements/catalogue/req-039.md4
-rw-r--r--requirements/catalogue/req-051.md8
-rw-r--r--requirements/catalogue/req-052.md3
-rw-r--r--requirements/catalogue/req-053.md2
-rw-r--r--requirements/catalogue/req-055.md4
-rw-r--r--requirements/data_models/dml-bucket.md4
-rw-r--r--requirements/tasks/task-004.md8
-rw-r--r--requirements/tasks/task-005.md3
29 files changed, 65 insertions, 63 deletions
diff --git a/requirements/architecture/arch-v1.md b/requirements/architecture/arch-v1.md
index f39252e..05268ee 100644
--- a/requirements/architecture/arch-v1.md
+++ b/requirements/architecture/arch-v1.md
@@ -4,10 +4,13 @@ Status: draft
## Problems
-- Schist must have a read/write SMS interface (req-031, req-045, req-047, req-053)
-- Schist must have a read/write desktop interface (req-021, req-023, req-048, req-052)
+- Schist must have a read/write SMS interface (req-031, req-045, req-047,
+ req-053)
+- Schist must have a read/write desktop interface (req-021, req-023, req-048,
+ req-052)
- Schist must read transactions automatically from a banking API (req-015)
-- Schist must persist buckets, pipes, drips, and transactions (req-034, req-056, req-057, req-058, req-051)
+- Schist must persist buckets, pipes, drips, and transactions (req-034, req-056,
+ req-057, req-058, req-051)
## Decisions
diff --git a/requirements/assumptions/ass-000.md b/requirements/assumptions/ass-000.md
index 962cb7d..2195782 100644
--- a/requirements/assumptions/ass-000.md
+++ b/requirements/assumptions/ass-000.md
@@ -1,3 +1,3 @@
# ass-000
-The user regularly opens Schist on their desktop computer. \ No newline at end of file
+The user regularly opens Schist on their desktop computer.
diff --git a/requirements/assumptions/ass-004.md b/requirements/assumptions/ass-004.md
index 0f37751..8ee5964 100644
--- a/requirements/assumptions/ass-004.md
+++ b/requirements/assumptions/ass-004.md
@@ -2,5 +2,5 @@
If the user may be without access to their phone or desktop computer when
they're making a spending decision, and if the user can find out their relevant
-bucket balance earlier using their desktop computer and write it down, then
-they will do so.
+bucket balance earlier using their desktop computer and write it down, then they
+will do so.
diff --git a/requirements/assumptions/ass-008.md b/requirements/assumptions/ass-008.md
index 2d2f9dd..ea4f31a 100644
--- a/requirements/assumptions/ass-008.md
+++ b/requirements/assumptions/ass-008.md
@@ -1,4 +1,4 @@
# ass-008
The accurate balance of a bucket is the difference between the amounts of the
-drips into it and the amounts of the transactions out of it. \ No newline at end of file
+drips into it and the amounts of the transactions out of it.
diff --git a/requirements/assumptions/ass-013.md b/requirements/assumptions/ass-013.md
index 71ba005..28c77e4 100644
--- a/requirements/assumptions/ass-013.md
+++ b/requirements/assumptions/ass-013.md
@@ -1,4 +1,4 @@
# ass-013
Whenever the user is using their desktop computer, they have access to their
-wallet. \ No newline at end of file
+wallet.
diff --git a/requirements/catalogue/req-003.md b/requirements/catalogue/req-003.md
index 0ec877e..21c7f59 100644
--- a/requirements/catalogue/req-003.md
+++ b/requirements/catalogue/req-003.md
@@ -1,10 +1,10 @@
# req-003
-As a user, given I have a beer bucket and pipes which express how much I want
-to spend on beer, I want how much money is in my beer bucket to influence how
-much I spend on beer, so that having buckets and pipes which express how I want
-to distribute, and have previously distributed, my incomings and outgoings
-enables me to control my spending.
+As a user, given I have a beer bucket and pipes which express how much I want to
+spend on beer, I want how much money is in my beer bucket to influence how much
+I spend on beer, so that having buckets and pipes which express how I want to
+distribute, and have previously distributed, my incomings and outgoings enables
+me to control my spending.
Source: req-028
diff --git a/requirements/catalogue/req-005.md b/requirements/catalogue/req-005.md
index 523c285..3c221df 100644
--- a/requirements/catalogue/req-005.md
+++ b/requirements/catalogue/req-005.md
@@ -1,9 +1,9 @@
# req-005
As a user, given I have a beer bucket and pipes which express how much I want to
-spend on beer, I want to know how much money is in my beer bucket when I'm at the
-bar, so that I can consider how much money is in my beer bucket when I decide
-how much to spend on beer at the bar.
+spend on beer, I want to know how much money is in my beer bucket when I'm at
+the bar, so that I can consider how much money is in my beer bucket when I
+decide how much to spend on beer at the bar.
Source: req-004
diff --git a/requirements/catalogue/req-017.md b/requirements/catalogue/req-017.md
index 1bbdf4b..a1445c6 100644
--- a/requirements/catalogue/req-017.md
+++ b/requirements/catalogue/req-017.md
@@ -5,9 +5,8 @@ As a user, I want:
- Buckets to represent real categories of spending, like beer and holidays;
- Pipes to represent how much I want to come in and out of each bucket;
- Each real transaction I make to be associated with at most one bucket;
-- Buckets to have a balance, which represents the amount of money I intend to
- be free to spend in the real category of spending which that bucket
- represents;
+- Buckets to have a balance, which represents the amount of money I intend to be
+ free to spend in the real category of spending which that bucket represents;
so that I can have buckets and pipes which express how I want to distribute, and
have previously distributed, my incomings and outgoings.
diff --git a/requirements/catalogue/req-018.md b/requirements/catalogue/req-018.md
index 225fc5d..e59537a 100644
--- a/requirements/catalogue/req-018.md
+++ b/requirements/catalogue/req-018.md
@@ -1,7 +1,7 @@
# req-018
-As a user, given I have a beer bucket and pipes which express how much I want
-to spend on beer, I want to know how much money is in my beer bucket when I'm at
+As a user, given I have a beer bucket and pipes which express how much I want to
+spend on beer, I want to know how much money is in my beer bucket when I'm at
the bar and I have access to my phone, so that I can know how much money is in
my beer bucket when I'm at the bar.
diff --git a/requirements/catalogue/req-020.md b/requirements/catalogue/req-020.md
index 1e3eeb0..ed6dfd5 100644
--- a/requirements/catalogue/req-020.md
+++ b/requirements/catalogue/req-020.md
@@ -1,8 +1,8 @@
# req-020
-As a user, given I have a beer bucket and pipes which express how much I want
-to spend on beer, I want to find out my beer bucket balance in Schist using SMS,
-so that I can know how much money is in my beer bucket when I'm at the bar and I
+As a user, given I have a beer bucket and pipes which express how much I want to
+spend on beer, I want to find out my beer bucket balance in Schist using SMS, so
+that I can know how much money is in my beer bucket when I'm at the bar and I
have access to my phone.
Source: req-018
diff --git a/requirements/catalogue/req-025.md b/requirements/catalogue/req-025.md
index b0cacd8..aed80c8 100644
--- a/requirements/catalogue/req-025.md
+++ b/requirements/catalogue/req-025.md
@@ -3,4 +3,4 @@
As a user, I want my incomings not to exceed my outgoings in the long run, so
that I can use my money well.
-Source: need-001 \ No newline at end of file
+Source: need-001
diff --git a/requirements/catalogue/req-026.md b/requirements/catalogue/req-026.md
index f74cf18..ab8ea98 100644
--- a/requirements/catalogue/req-026.md
+++ b/requirements/catalogue/req-026.md
@@ -5,4 +5,4 @@ spending.
Source: req-017
-Satisfied by: dml-bucket \ No newline at end of file
+Satisfied by: dml-bucket
diff --git a/requirements/catalogue/req-028.md b/requirements/catalogue/req-028.md
index e86c525..6c81071 100644
--- a/requirements/catalogue/req-028.md
+++ b/requirements/catalogue/req-028.md
@@ -1,9 +1,9 @@
# req-028
As a user, given my buckets and pipes express how I want to distribute my
-incomings and outgoings, I want how much money is in my buckets to influence
-how much I spend on the real categories of spending which they represent, so
-that having buckets and pipes which express how I want to distribute, and have
+incomings and outgoings, I want how much money is in my buckets to influence how
+much I spend on the real categories of spending which they represent, so that
+having buckets and pipes which express how I want to distribute, and have
previously distributed, my incomings and outgoings enables me to control my
spending.
diff --git a/requirements/catalogue/req-029.md b/requirements/catalogue/req-029.md
index 26bf701..16d63b4 100644
--- a/requirements/catalogue/req-029.md
+++ b/requirements/catalogue/req-029.md
@@ -1,7 +1,7 @@
# req-029
Given the user's buckets and pipes express how the user wants to distribute
-their incomings and outgoings, Schist must have an SMS interface for a
-procedure which returns the accurate balance of a given bucket.
+their incomings and outgoings, Schist must have an SMS interface for a procedure
+which returns the accurate balance of a given bucket.
-Source: req-020 \ No newline at end of file
+Source: req-020
diff --git a/requirements/catalogue/req-030.md b/requirements/catalogue/req-030.md
index e09a281..d211964 100644
--- a/requirements/catalogue/req-030.md
+++ b/requirements/catalogue/req-030.md
@@ -1,12 +1,13 @@
# req-030
-Schist must implement the procedure described below as `calculate_bucket_balance`.
+Schist must implement the procedure described below as
+`calculate_bucket_balance`.
## calculate_bucket_balance
Inputs:
-- A bucket name, `name`
+- A bucket name, `name`
1. If no bucket exists with the name, `name`, then return empty.
2. If more than one bucket exists with the name, `name`, then panic.
@@ -19,7 +20,7 @@ Inputs:
req-037.
8. Let `transaction_sum` be the sum over the property, `amount`, of all
transactions `t` such that `t.bucket_id = bucket.id`.
-9. Let `drip_sum` be the sum over the property, `amount`, of all drips `d` such
+9. Let `drip_sum` be the sum over the property, `amount`, of all drips `d` such
that `d.bucket_id = bucket.id`.
10. Return `drip_sum - transaction_sum`.
diff --git a/requirements/catalogue/req-032.md b/requirements/catalogue/req-032.md
index 6f173ac..059346e 100644
--- a/requirements/catalogue/req-032.md
+++ b/requirements/catalogue/req-032.md
@@ -6,4 +6,4 @@ of any given bucket.
Source: req-024
-Satisfied by: req-030, req-034, ass-008, req-036 \ No newline at end of file
+Satisfied by: req-030, req-034, ass-008, req-036
diff --git a/requirements/catalogue/req-033.md b/requirements/catalogue/req-033.md
index fce9092..316bbec 100644
--- a/requirements/catalogue/req-033.md
+++ b/requirements/catalogue/req-033.md
@@ -1,5 +1,6 @@
# req-033
-Whenever the user makes a transaction, they must be able to enter it into Schist.
+Whenever the user makes a transaction, they must be able to enter it into
+Schist.
Source: req-034
diff --git a/requirements/catalogue/req-035.md b/requirements/catalogue/req-035.md
index 15b797b..6ce48d3 100644
--- a/requirements/catalogue/req-035.md
+++ b/requirements/catalogue/req-035.md
@@ -7,7 +7,7 @@ Schist must implement the procedure described below as
Inputs:
-- A bucket, `bucket`
+- A bucket, `bucket`
1. Let `cache_key = bucket.balance_cache_key`.
2. If `cache_key` is not in the format, `<string>:<string>`, then return FALSE.
@@ -24,4 +24,4 @@ Inputs:
`transaction.bucket_id = bucket.id`, then return FALSE.
11. Return TRUE.
-Source: req-030 \ No newline at end of file
+Source: req-030
diff --git a/requirements/catalogue/req-036.md b/requirements/catalogue/req-036.md
index db3f4dd..723e6e1 100644
--- a/requirements/catalogue/req-036.md
+++ b/requirements/catalogue/req-036.md
@@ -4,4 +4,4 @@ Given a bucket, `bucket`, if the procedure
`is_bucket_balance_up_to_date(bucket)` as described in req-035 returns TRUE,
then the accurate balance of `bucket` is equal to `bucket.balance`.
-Sources: req-030, req-032 \ No newline at end of file
+Sources: req-030, req-032
diff --git a/requirements/catalogue/req-037.md b/requirements/catalogue/req-037.md
index 0d27984..d537cce 100644
--- a/requirements/catalogue/req-037.md
+++ b/requirements/catalogue/req-037.md
@@ -20,8 +20,8 @@ Inputs:
1. Let `prev_drip` be a drip `d` with a most recent value for the property
`date` such that `d.pipe_id = pipe.id`
-2. For each calendar date `d` in the range `(prev_drip.date, today]`, insert
- a new drip for `pipe`:
+2. For each calendar date `d` in the range `(prev_drip.date, today]`, insert a
+ new drip for `pipe`:
- `bucket_id`: `pipe.bucket_id`
- `pipe_id`: `pipe.id`
- `date`: `d`
@@ -45,4 +45,4 @@ Inputs:
6. If `period` is not `year`, panic.
7. Return `pipe.amount รท days_in_year`.
-Source: req-030 \ No newline at end of file
+Source: req-030
diff --git a/requirements/catalogue/req-038.md b/requirements/catalogue/req-038.md
index 71b8d55..e8dbbc8 100644
--- a/requirements/catalogue/req-038.md
+++ b/requirements/catalogue/req-038.md
@@ -3,4 +3,4 @@
Schist must have a record of pipes which accurately reflect how I want to
distribute my incomings and outgoings.
-Source: req-032 \ No newline at end of file
+Source: req-032
diff --git a/requirements/catalogue/req-039.md b/requirements/catalogue/req-039.md
index 2f583b3..f6e8403 100644
--- a/requirements/catalogue/req-039.md
+++ b/requirements/catalogue/req-039.md
@@ -2,8 +2,8 @@
As a user, I want my purchase of this holiday item to be recorded as a holiday
transaction and for records of holiday transactions to affect the amount of
-money I see in my holidays bucket, so that my incomings and outgoings affect
-how much money is in my buckets.
+money I see in my holidays bucket, so that my incomings and outgoings affect how
+much money is in my buckets.
Source: req-009
diff --git a/requirements/catalogue/req-051.md b/requirements/catalogue/req-051.md
index d38c053..40bf443 100644
--- a/requirements/catalogue/req-051.md
+++ b/requirements/catalogue/req-051.md
@@ -1,9 +1,9 @@
# req-051
-Given a user's bank account is set up to sync with Schist, when the user makes
-a transaction in that bank account, then Schist must record that transaction,
-and Schist should record that transaction before the user reads any data from
-Schist which depends upon accurate transaction records.
+Given a user's bank account is set up to sync with Schist, when the user makes a
+transaction in that bank account, then Schist must record that transaction, and
+Schist should record that transaction before the user reads any data from Schist
+which depends upon accurate transaction records.
Source: req-015
diff --git a/requirements/catalogue/req-052.md b/requirements/catalogue/req-052.md
index e9c5c77..ecf41a4 100644
--- a/requirements/catalogue/req-052.md
+++ b/requirements/catalogue/req-052.md
@@ -1,7 +1,6 @@
# req-052
-Schist must have a desktop interface for importing transactions from a CSV
-file.
+Schist must have a desktop interface for importing transactions from a CSV file.
Source: req-016
diff --git a/requirements/catalogue/req-053.md b/requirements/catalogue/req-053.md
index 2ec7c40..4a710f7 100644
--- a/requirements/catalogue/req-053.md
+++ b/requirements/catalogue/req-053.md
@@ -6,4 +6,4 @@ normally have Schist in my phone contacts.
Source: req-043
-Satisfied by: req-055 \ No newline at end of file
+Satisfied by: req-055
diff --git a/requirements/catalogue/req-055.md b/requirements/catalogue/req-055.md
index bb7bf56..a8ac719 100644
--- a/requirements/catalogue/req-055.md
+++ b/requirements/catalogue/req-055.md
@@ -1,6 +1,6 @@
# req-055
-When a user uses Schist for the first time, they must be prompted to enter
-their phone number if they know they want to use Schist using SMS.
+When a user uses Schist for the first time, they must be prompted to enter their
+phone number if they know they want to use Schist using SMS.
Source: req-053
diff --git a/requirements/data_models/dml-bucket.md b/requirements/data_models/dml-bucket.md
index f8fd1da..858f013 100644
--- a/requirements/data_models/dml-bucket.md
+++ b/requirements/data_models/dml-bucket.md
@@ -10,10 +10,10 @@ A bucket represents a real category of spending, like beer or holidays.
Constraints:
-- `name` must be unique.
+- `name` must be unique.
Notes:
-- `balance_cache_key` must be of the format: `<drip_id>:<transaction_id>`.
+- `balance_cache_key` must be of the format: `<drip_id>:<transaction_id>`.
Sources: req-027, req-028, req-030
diff --git a/requirements/tasks/task-004.md b/requirements/tasks/task-004.md
index f00a055..e84c506 100644
--- a/requirements/tasks/task-004.md
+++ b/requirements/tasks/task-004.md
@@ -1,9 +1,9 @@
# task-005
-Given the user has set up a bank account to sync with Schist, when they read
-any data from Schist which depends upon accurate transaction records, then
-Schist retrieves transactions from the bank account and records them before
-returning the result to the user.
+Given the user has set up a bank account to sync with Schist, when they read any
+data from Schist which depends upon accurate transaction records, then Schist
+retrieves transactions from the bank account and records them before returning
+the result to the user.
Exception: if it takes too long to get transactions from the bank account, then
Schist should return the stale data at first while retrieving the fresh
diff --git a/requirements/tasks/task-005.md b/requirements/tasks/task-005.md
index 2d4b8be..85bfe0e 100644
--- a/requirements/tasks/task-005.md
+++ b/requirements/tasks/task-005.md
@@ -1,6 +1,5 @@
# task-005
-Schist must have a desktop interface for importing transactions from a CSV
-file.
+Schist must have a desktop interface for importing transactions from a CSV file.
Source: req-052