From de92a28977ef378082066b8256525c23224b53f8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 03:34:24 +0000 Subject: [PATCH 1/2] Initial plan From 9963bab4a00d1d5963078faf713e4ace616a8e71 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Dec 2025 03:36:33 +0000 Subject: [PATCH 2/2] Create TLA+ spec folder with documentation Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com> --- tlaplus/README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tlaplus/README.md diff --git a/tlaplus/README.md b/tlaplus/README.md new file mode 100644 index 0000000..c7cfdb1 --- /dev/null +++ b/tlaplus/README.md @@ -0,0 +1,47 @@ +# TLA+ Specifications + +This directory contains TLA+ formal specifications for the GithubWorkflowTool project. + +## About TLA+ + +TLA+ is a formal specification language developed by Leslie Lamport for designing, modeling, documenting, and verifying concurrent systems and algorithms. It's particularly useful for: + +- Modeling distributed systems and concurrent processes +- Verifying correctness properties +- Finding subtle bugs in system designs +- Documenting system behavior formally + +## Purpose + +The TLA+ specifications in this directory formally model key components of the GithubWorkflowTool, including: + +- Workflow execution semantics +- Job dependency resolution +- Concurrent job execution +- State transitions in the workflow engine +- Cache and artifact management + +## Tools + +To work with TLA+ specifications, you'll need: + +- **TLA+ Toolbox**: The IDE for TLA+ (https://lamport.azurewebsites.net/tla/toolbox.html) +- **TLC Model Checker**: For checking specifications (included with the Toolbox) +- **TLAPS**: The TLA+ Proof System (optional, for formal proofs) + +## File Structure + +TLA+ specification files typically have the `.tla` extension. Each specification may include: + +- Module definitions +- Constants and variables +- Initial state predicates +- Next-state actions +- Invariants and temporal properties + +## Resources + +- [TLA+ Homepage](https://lamport.azurewebsites.net/tla/tla.html) +- [Learn TLA+](https://learntla.com/) +- [TLA+ Examples](https://github.com/tlaplus/Examples) +- [Specifying Systems Book](https://lamport.azurewebsites.net/tla/book.html)