2.8 KiB
2.8 KiB
Operation Contract
Metadata
| Key | Value |
|---|---|
| ID | OC-002 |
| CrossReference | SSD-002, DM-003, DICT-001 |
Version History
| Date | Status | Author | Reviewer | Change | Commit |
|---|---|---|---|---|---|
| 2026-10-07 | Proposed | Jens Tirsvad Nielsen | S02 | Initial version | 1cd27f7 |
Concepts below use the IT terms of DICT-001 for the PO concepts of DM-003. Run and PromptSet are the system concepts of OC-001. The operation provideProjectDetails is the one of OC-001; the only change is the base of its default directory, stated in P4.
Contract: startFromWorkingFolder
| Item | Value |
|---|---|
| Operation | startFromWorkingFolder(configPath: Path [0..1], envPath: Path [0..1]): PromptSet |
| Traces to | startFromWorkingFolder in SSD-002 |
| Concepts | Run, CommandLink, Checkout, WorkingFolder, Configuration |
Preconditions
- A
CommandLinkexists that leads to the script in aCheckout, or the Maintainer started the script by its path. - The Maintainer is in a
WorkingFolder.
Postconditions
- P1. A
Runinstance was created. - P2. A
Checkoutinstance was created and associated with theRun, withpathset to the folder that holds the script's own files, reached through theCommandLink, however many links lie between them. - P3. A
WorkingFolderinstance was created and associated with theRun, withpathset to the folder in which the Maintainer started the script. It was not changed by following theCommandLink. - P4. The default of
directoryin thePromptSetis./<name>under theWorkingFolder, never under theCheckout. - P5. A
Configurationinstance was created and associated with theRunfromconfigPath, or fromconfig.envin theCheckoutwhenconfigPathis absent, and fromenvPath, or from.envin theCheckoutwhenenvPathis absent; the validation of OC-001startProjectCreationP2 and P3 applies. - P6. The
Runwas associated with aPromptSetthat is returned.
Exceptions
| Condition (failing precondition) | Outcome |
|---|---|
The Checkout's own files are not found from the link target |
The Run ends with an error naming the folder it looked in; nothing was changed |
config.env or .env is not found in the Checkout and no path was given (P5) |
The Run ends with an error naming the path it looked in and the options --config and --env; nothing was changed |
A value in config.env or .env is malformed (P5) |
As in OC-001 startProjectCreation: the error names the key, never its value; nothing was changed |