Some fixes to the spec text and update to 1.0

Note that 1.0 is not final until it has been tagged in git.
This commit is contained in:
Jos van den Oever 2024-09-04 17:05:39 +02:00
parent 1decf93f56
commit 3bf56e0345

View file

@ -1,6 +1,6 @@
# TakenTaal Spec # TakenTaal Spec
Version 0.1.0 Version 1.0
## Abstract ## Abstract
@ -13,7 +13,7 @@ and validated using automated tooling.
A TakenTaal document looks as follows: A TakenTaal document looks as follows:
``` ```
takentaal v0.1.0 takentaal v1.0
# {10000} Project Name # {10000} Project Name
@ -128,13 +128,15 @@ the original document.
In short, documents are formatted as follows: In short, documents are formatted as follows:
- the first line is "takentaal v0.1.0" - the first line is "takentaal v1.0"
- lines beginning with "# " are the title of the plan, - lines beginning with "# " are the title of the plan,
- lines beginning with "## " are the title of a task, - lines beginning with "## " are the title of a task,
- lines beginning with "- ", "/ ", "* " or "! " are a subtask, - lines beginning with "- " are a subtask,
- in amendments, lines beginning with "/ ", "* " or "! " are subtasks with
a special status,
- all other lines are the description of the plan or a task. - all other lines are the description of the plan or a task.
Titles MAY contain an amount. Titles MAY be preceded by an amount in curly brackets.
Descriptions consists of paragraphs, each paragraph corresponding to a single Descriptions consists of paragraphs, each paragraph corresponding to a single
line of text. line of text.
@ -150,11 +152,11 @@ newline characters.
TakenTaal documents MUST begin with a header line announcing the version of the TakenTaal documents MUST begin with a header line announcing the version of the
TakenTaal spec used. The TakenTaal spec you are currently reading expects the TakenTaal spec used. The TakenTaal spec you are currently reading expects the
version to be "0.1.0". version to be "1.0".
The header is formatted as follows: The header is formatted as follows:
header = "takentaal v0.1.0" header = "takentaal v1.0"
### 4.3 Title ### 4.3 Title
@ -227,6 +229,8 @@ The subtask status characters have the following meaning:
- "* ": the subtask is considered fully completed - "* ": the subtask is considered fully completed
- "! ": the subtask is considered cancelled - "! ": the subtask is considered cancelled
with the last three being only available in amendments.
Every non-empty line that does not follow the formats mentioned above is Every non-empty line that does not follow the formats mentioned above is
considered a paragraph of the description of the task. considered a paragraph of the description of the task.
@ -275,8 +279,8 @@ invalidate the documents, TakenTaal documents can be partially locked using
status indicators. These indicators are machine-parsable to allow for automated status indicators. These indicators are machine-parsable to allow for automated
validation. validation.
Imagine a scenario where one of the subtasks was already completed and paid out. Imagine a scenario where one of the subtasks was already (partially) completed
Amendments MUST be disallowed to modify that subtask. and paid out. Amendments MUST be disallowed to modify that subtask.
This is where locking a subtask comes in. Subtasks can be locked by using any This is where locking a subtask comes in. Subtasks can be locked by using any
status indicator other than "-" (see 4.7). When locked, a subtask MUST not be status indicator other than "-" (see 4.7). When locked, a subtask MUST not be
@ -320,7 +324,7 @@ invalid, to clearly communicate what rules are followed by the implementation.
Example 1: a minimal TakenTaal document: Example 1: a minimal TakenTaal document:
``` ```
takentaal v0.1.0 takentaal v1.0
# Project Name # Project Name
This is the description of the entire work plan. This is the description of the entire work plan.
@ -343,7 +347,7 @@ This is the description of the second task.
Example 2: a full valid TakenTaal document: Example 2: a full valid TakenTaal document:
``` ```
takentaal v0.1.0 takentaal v1.0
# {3000} Project Name # {3000} Project Name
This is the description of the entire work plan. This is the description of the entire work plan.
@ -369,7 +373,7 @@ This is the description of the second task.
Example 3: a document with status indicators: Example 3: a document with status indicators:
``` ```
takentaal v0.1.0 takentaal-amendment v1.0
# Project Name # Project Name
## {500} First task ## {500} First task
@ -385,7 +389,7 @@ takentaal v0.1.0
Example 4: a document that gets flagged during auditing (amounts mismatch): Example 4: a document that gets flagged during auditing (amounts mismatch):
``` ```
takentaal v0.1.0 takentaal v1.0
# Project Name # Project Name
## First task {2000 EUR} ## First task {2000 EUR}