Files
RepoFoundry/docs/uc-002/oc.md
T
Tirsvad 1cd27f77ed Plan MIL-007 and UC-002; AGPL-3.0 default only for a public GitHub project
- MIL-006: the AGPL-3.0 default needs GitHub and a public project
- MIL-007: fetch the framework's own submodules (qc); start through a command link; README usage
- UC-002 with SSD, DM, OC, SD and DCD; US-001.07 and US-002
- Reconcile the project DM, DCD, dictionary, use case diagram and traceability matrix
- Review records RC-022 to RC-028
2026-10-07 12:30:58 +08:00

2.7 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 pending

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 CommandLink exists that leads to the script in a Checkout, or the Maintainer started the script by its path.
  • The Maintainer is in a WorkingFolder.

Postconditions

  • P1. A Run instance was created.
  • P2. A Checkout instance was created and associated with the Run, with path set to the folder that holds the script's own files, reached through the CommandLink, however many links lie between them.
  • P3. A WorkingFolder instance was created and associated with the Run, with path set to the folder in which the Maintainer started the script. It was not changed by following the CommandLink.
  • P4. The default of directory in the PromptSet is ./<name> under the WorkingFolder, never under the Checkout.
  • P5. A Configuration instance was created and associated with the Run from configPath, or from config.env in the Checkout when configPath is absent, and from envPath, or from .env in the Checkout when envPath is absent; the validation of OC-001 startProjectCreation P2 and P3 applies.
  • P6. The Run was associated with a PromptSet that 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