1. 1. Introduction
  2. 2. Background
    ❱
    1. 2.1. Purpose
    2. 2.2. Strategy
  3. 3. Examples
    ❱
    1. 3.1. Download
    2. 3.2. Env Man
      ❱
      1. 3.2.1. Walkthrough
  4. 4. Technical Concepts
    ❱
    1. 4.1. Resources
    2. 4.2. Function Graph
      ❱
      1. 4.2.1. Abstraction
      2. 4.2.2. Ordering
      3. 4.2.3. Streaming
    3. 4.3. Item
      ❱
      1. 4.3.1. Item Parameters
        ❱
        1. 4.3.1.1. Value Specification
        2. 4.3.1.2. Params Specification
        3. 4.3.1.3. Params Framework Support
        4. 4.3.1.4. Mapping Functions
    4. 4.4. Item Graph
      ❱
      1. 4.4.1. Initialization
      2. 4.4.2. State Inspection
      3. 4.4.3. State Ensure
      4. 4.4.4. Clean
    5. 4.5. State
      ❱
      1. 4.5.1. Logical State
    6. 4.6. Output
      ❱
      1. 4.6.1. Execution Progress
      2. 4.6.2. Presentation
    7. 4.7. Diagrams
      ❱
      1. 4.7.1. Progress
      2. 4.7.2. Outcome
        ❱
        1. 4.7.2.1. Render Technology
        2. 4.7.2.2. HTML + Flexbox
        3. 4.7.2.3. Div Diag
        4. 4.7.2.4. API Design
        5. 4.7.2.5. Interaction Merging
        6. 4.7.2.6. Aesthetics and Clarity
    8. 4.8. Endpoints and Interaction
      ❱
      1. 4.8.1. Cmd Invocation
      2. 4.8.2. Interruption
      3. 4.8.3. Progress Output
    9. 4.9. Workspace
    10. 4.10. Commands
      ❱
      1. 4.10.1. Scopes
        ❱
        1. 4.10.1.1. Reborrowing
      2. 4.10.2. Use Cases
        ❱
        1. 4.10.2.1. Workspace Initialization
        2. 4.10.2.2. Profile List
        3. 4.10.2.3. Workspace Stored Active Profile
        4. 4.10.2.4. Workspace Active Profile Switch
        5. 4.10.2.5. State Discovery and Display
        6. 4.10.2.6. State Read and Display
        7. 4.10.2.7. State Diff
        8. 4.10.2.8. State Apply
        9. 4.10.2.9. State Clean
      3. 4.10.3. Cmd Execution
      4. 4.10.4. Interruptibility
    11. 4.11. Flow Versioning
      ❱
      1. 4.11.1. Seamless Execution
      2. 4.11.2. Upgrade Actions
  5. 5. Learning Material
    ❱
    1. 5.1. Why Rust
      ❱
      1. 5.1.1. Topics
      2. 5.1.2. ⚡ Performance
        ❱
        1. 5.1.2.1. Benchmarks
        2. 5.1.2.2. How Is Rust Fast
        3. 5.1.2.3. Compiled vs Interpreted
        4. 5.1.2.4. Native Code
        5. 5.1.2.5. Memory Usage
        6. 5.1.2.6. Memory Freeing
        7. 5.1.2.7. Performance Summary
      3. 5.1.3. 🚧 Constraints
        ❱
        1. 5.1.3.1. Correct Programs
        2. 5.1.3.2. Unconstrained
        3. 5.1.3.3. Constrained
        4. 5.1.3.4. Constrained - Fixed
        5. 5.1.3.5. Less vs More
        6. 5.1.3.6. Nullability - JS
        7. 5.1.3.7. Nullability - C#
        8. 5.1.3.8. Nullability - Rust
        9. 5.1.3.9. Data Race - C#
        10. 5.1.3.10. Data Race - Rust 1
        11. 5.1.3.11. Data Race - Rust 2
        12. 5.1.3.12. Constraints in Rust
        13. 5.1.3.13. Constraints Summary
      4. 5.1.4. 💬 Expressive
        ❱
        1. 5.1.4.1. Co/Co Mapping
        2. 5.1.4.2. Traits
        3. 5.1.4.3. Multiple Values
        4. 5.1.4.4. Cloning
        5. 5.1.4.5. Cloning - Others
        6. 5.1.4.6. Cloning - Rust
        7. 5.1.4.7. Expressive Summary
      5. 5.1.5. 😵‍💫 Unambiguous
        ❱
        1. 5.1.5.1. Equality
        2. 5.1.5.2. Equality - Java
        3. 5.1.5.3. Equality - Rust 1
        4. 5.1.5.4. Equality - Rust 2
        5. 5.1.5.5. Control Flow
        6. 5.1.5.6. Control Flow - Java
        7. 5.1.5.7. Control Flow - Rust
        8. 5.1.5.8. Unambiguous Summary
      6. 5.1.6. 🛠️ Tooling
        ❱
        1. 5.1.6.1. Formatter
        2. 5.1.6.2. Linter
        3. 5.1.6.3. Package Manager
        4. 5.1.6.4. Others
        5. 5.1.6.5. Tooling Summary
      7. 5.1.7. 🚛 Ecosystem
        ❱
        1. 5.1.7.1. Variety
        2. 5.1.7.2. Stable
      8. 5.1.8. 🦋 Second Order
        ❱
        1. 5.1.8.1. Chain of Events
        2. 5.1.8.2. Topics Again
        3. 5.1.8.3. Try Rust
      9. 5.1.9. Q & A
    2. 5.2. User Facing Automation - Part 1
    3. 5.3. User Facing Automation - Part 2
    4. 5.4. Empathetic Code Design
      ❱
      1. 5.4.1. Background
      2. 5.4.2. Scenario
      3. 5.4.3. Flow Definition
      4. 5.4.4. Inputs and Outputs
      5. 5.4.5. Parameters Specification
      6. 5.4.6. Output and Presentation
      7. 5.4.7. Command Invocation
      8. 5.4.8. Parameters Recall
      9. 5.4.9. Workspace
      10. 5.4.10. Profiles
      11. 5.4.11. Summary
      12. 5.4.12. Q & A
    5. 5.5. Interruptible Software
      ❱
      1. 5.5.1. Processes
      2. 5.5.2. Execution
      3. 5.5.3. Bus Analogy
      4. 5.5.4. Designing Interruptibility
        ❱
        1. 5.5.4.1. Stop Button
        2. 5.5.4.2. Stopping Point
        3. 5.5.4.3. Parallelism
        4. 5.5.4.4. Reporting
        5. 5.5.4.5. Strategy
      5. 5.5.5. Interruptible Implementation
      6. 5.5.6. Resumability
      7. 5.5.7. Designing Resumability
        ❱
        1. 5.5.7.1. Executor Resumability
        2. 5.5.7.2. Stepwise Resumability
      8. 5.5.8. Resumable Implementation
      9. 5.5.9. Real Crates
      10. 5.5.10. Summary
      11. 5.5.11. Q & A
    6. 5.6. Dot IX: Diagram Generator
      ❱
      1. 5.6.1. Everyday Diagrams
      2. 5.6.2. 🛑 Problems
        ❱
        1. 5.6.2.1. Appearance
        2. 5.6.2.2. Accuracy
        3. 5.6.2.3. Portability
        4. 5.6.2.4. Dynamics
      3. 5.6.3. 💡 Ideation
        ❱
        1. 5.6.3.1. Output Format
        2. 5.6.3.2. Input Format
        3. 5.6.3.3. Logistics
      4. 5.6.4. 🎨 Demo
      5. 5.6.5. 🧪 Solution
        ❱
        1. 5.6.5.1. Supported Usages
        2. 5.6.5.2. Generation Process
        3. 5.6.5.3. Challenges
      6. 5.6.6. What's Next
      7. 5.6.7. Q & A
    7. 5.7. Peace: Zero Stress Automation
      ❱
      1. 5.7.1. 🐉 Origin Story
        ❱
        1. 5.7.1.1. Manual Deployment
        2. 5.7.1.2. Automation
        3. 5.7.1.3. Engineering Eyes
        4. 5.7.1.4. Engineering Success
        5. 5.7.1.5. Automation (For Real)
        6. 5.7.1.6. Human Eyes
      2. 5.7.2. 🕊️ Peace Framework
      3. 5.7.3. 🏗️ envman (example tool)
      4. 5.7.4. 💡 Understandability
        ❱
        1. 5.7.4.1. Demo
        2. 5.7.4.2. Goldilocks Principle
      5. 5.7.5. 🎮 Control
        ❱
        1. 5.7.5.1. Minimal Control
        2. 5.7.5.2. Discovery
        3. 5.7.5.3. Interruption
        4. 5.7.5.4. Demo
      6. 5.7.6. 💟 Morale
        ❱
        1. 5.7.6.1. Aesthetics: Outcome
        2. 5.7.6.2. Aesthetics: Progress
        3. 5.7.6.3. Aesthetics: Errors
        4. 5.7.6.4. Automation Clarified
      7. 5.7.7. ⚙️ How Does It Work
      8. 5.7.8. 🏭 Architecture
        ❱
        1. 5.7.8.1. Components
        2. 5.7.8.2. Item
        3. 5.7.8.3. Flow
        4. 5.7.8.4. Commands
        5. 5.7.8.5. Tool
      9. 5.7.9. 🦖 Project Status
        ❱
        1. 5.7.9.1. Readiness
      10. 5.7.10. 🔗 Links
      11. 5.7.11. 🙇‍♂️ Thank You
      12. 5.7.12. ❓ Q & A
  6. 6. Ideas
    ❱
    1. 6.1. Feature Gated Incremental Functionality
  7. 7. Licenses

The Peace Framework

🎨 Demo