Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

## Project

`gds-core` — monorepo for the Generalized Dynamical Systems ecosystem. Typed compositional specifications for complex systems, grounded in [GDS theory](https://doi.org/10.57938/e8d456ea-d975-4111-ac41-052ce73cb0cc). Six packages managed as a uv workspace.
`gds-core` — monorepo for the Generalized Dynamical Systems ecosystem. Typed compositional specifications for complex systems, grounded in [GDS theory](https://doi.org/10.57938/e8d456ea-d975-4111-ac41-052ce73cb0cc). Seven packages managed as a uv workspace.

## Packages

Expand All @@ -15,6 +15,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
| gds-games | `ogs` | `packages/gds-games/` |
| gds-stockflow | `stockflow` | `packages/gds-stockflow/` |
| gds-control | `gds_control` | `packages/gds-control/` |
| gds-software | `gds_software` | `packages/gds-software/` |
| gds-examples | — | `packages/gds-examples/` |

## Commands
Expand All @@ -29,13 +30,14 @@ uv run --package gds-viz pytest packages/gds-viz/tests -v
uv run --package gds-games pytest packages/gds-games/tests -v
uv run --package gds-stockflow pytest packages/gds-stockflow/tests -v
uv run --package gds-control pytest packages/gds-control/tests -v
uv run --package gds-software pytest packages/gds-software/tests -v
uv run --package gds-examples pytest packages/gds-examples -v

# Run a single test
uv run --package gds-framework pytest packages/gds-framework/tests/test_blocks.py::TestStackComposition::test_rshift_operator -v

# Run all tests across all packages
uv run --package gds-framework pytest packages/gds-framework/tests packages/gds-viz/tests packages/gds-games/tests packages/gds-stockflow/tests packages/gds-control/tests packages/gds-examples -v
uv run --package gds-framework pytest packages/gds-framework/tests packages/gds-viz/tests packages/gds-games/tests packages/gds-stockflow/tests packages/gds-control/tests packages/gds-software/tests packages/gds-examples -v

# Lint & format
uv run ruff check packages/
Expand Down Expand Up @@ -63,6 +65,7 @@ gds-viz ← visualization (depends on gds-framework)
gds-games ← game theory DSL (depends on gds-framework)
gds-stockflow ← stock-flow DSL (depends on gds-framework)
gds-control ← control systems DSL (depends on gds-framework)
gds-software ← software architecture DSL (depends on gds-framework)
gds-examples ← tutorials (depends on gds-framework + gds-viz)
```
Expand All @@ -79,7 +82,7 @@ These layers are loosely coupled — you can use the composition algebra without

### Domain DSL Pattern

Three domain DSLs (stockflow, control, games) compile to GDS. The stockflow and control packages follow a shared pattern:
Four domain DSLs (stockflow, control, games, software) compile to GDS. The stockflow, control, and software packages follow a shared pattern:

1. **Elements** — frozen Pydantic models for user-facing declarations (not GDS blocks)
2. **Model** — mutable container with `@model_validator` construction-time validation
Expand Down
9 changes: 9 additions & 0 deletions docs/business/api/cld-checks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# gds_business.cld.checks

CLD verification checks (CLD-001..CLD-003).

::: gds_business.cld.checks.check_cld001_loop_polarity

::: gds_business.cld.checks.check_cld002_variable_reachability

::: gds_business.cld.checks.check_cld003_no_self_loops
15 changes: 15 additions & 0 deletions docs/business/api/cld-compile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# gds_business.cld.compile

Compiler: CausalLoopModel → GDSSpec / SystemIR.

## Semantic Types

::: gds_business.cld.compile.SignalType

::: gds_business.cld.compile.SignalSpace

## Public Functions

::: gds_business.cld.compile.compile_cld

::: gds_business.cld.compile.compile_cld_to_system
7 changes: 7 additions & 0 deletions docs/business/api/cld-elements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# gds_business.cld.elements

CLD element declarations — frozen Pydantic models for user-facing declarations.

::: gds_business.cld.elements.Variable

::: gds_business.cld.elements.CausalLink
5 changes: 5 additions & 0 deletions docs/business/api/cld-model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# gds_business.cld.model

CausalLoopModel — declarative container for causal loop diagrams.

::: gds_business.cld.model.CausalLoopModel
23 changes: 23 additions & 0 deletions docs/business/api/common.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# gds_business.common

Shared types, errors, and compilation utilities.

## Diagram Kinds

::: gds_business.common.types.BusinessDiagramKind

## Errors

::: gds_business.common.errors.BizError

::: gds_business.common.errors.BizValidationError

::: gds_business.common.errors.BizCompilationError

## Compilation Utilities

::: gds_business.common.compile_utils.parallel_tier

::: gds_business.common.compile_utils.build_inter_tier_wirings

::: gds_business.common.compile_utils.sequential_with_explicit_wiring
43 changes: 43 additions & 0 deletions docs/business/api/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# API Reference

Complete API documentation for `gds-business`, auto-generated from source docstrings.

## Common

| Module | Description |
|--------|-------------|
| [gds_business](init.md) | Package root — version, top-level imports |
| [gds_business.common](common.md) | Shared types, errors, compilation utilities |

## Causal Loop Diagrams

| Module | Description |
|--------|-------------|
| [gds_business.cld.elements](cld-elements.md) | Variable, CausalLink declarations |
| [gds_business.cld.model](cld-model.md) | CausalLoopModel container |
| [gds_business.cld.compile](cld-compile.md) | CLD → GDSSpec / SystemIR compiler |
| [gds_business.cld.checks](cld-checks.md) | CLD-001..CLD-003 verification checks |

## Supply Chain Networks

| Module | Description |
|--------|-------------|
| [gds_business.supplychain.elements](scn-elements.md) | SupplyNode, Shipment, DemandSource, OrderPolicy |
| [gds_business.supplychain.model](scn-model.md) | SupplyChainModel container |
| [gds_business.supplychain.compile](scn-compile.md) | SCN → GDSSpec / SystemIR compiler |
| [gds_business.supplychain.checks](scn-checks.md) | SCN-001..SCN-004 verification checks |

## Value Stream Maps

| Module | Description |
|--------|-------------|
| [gds_business.vsm.elements](vsm-elements.md) | ProcessStep, InventoryBuffer, Supplier, Customer, flows |
| [gds_business.vsm.model](vsm-model.md) | ValueStreamModel container |
| [gds_business.vsm.compile](vsm-compile.md) | VSM → GDSSpec / SystemIR compiler |
| [gds_business.vsm.checks](vsm-checks.md) | VSM-001..VSM-004 verification checks |

## Verification

| Module | Description |
|--------|-------------|
| [gds_business.verification](verification.md) | Union dispatch verify() engine |
8 changes: 8 additions & 0 deletions docs/business/api/init.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# gds_business

Public API — top-level exports.

::: gds_business
options:
show_submodules: false
members: false
11 changes: 11 additions & 0 deletions docs/business/api/scn-checks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# gds_business.supplychain.checks

Supply chain verification checks (SCN-001..SCN-004).

::: gds_business.supplychain.checks.check_scn001_network_connectivity

::: gds_business.supplychain.checks.check_scn002_shipment_node_validity

::: gds_business.supplychain.checks.check_scn003_demand_target_validity

::: gds_business.supplychain.checks.check_scn004_no_orphan_nodes
23 changes: 23 additions & 0 deletions docs/business/api/scn-compile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# gds_business.supplychain.compile

Compiler: SupplyChainModel → GDSSpec / SystemIR.

## Semantic Types

::: gds_business.supplychain.compile.InventoryType

::: gds_business.supplychain.compile.InventorySpace

::: gds_business.supplychain.compile.ShipmentRateType

::: gds_business.supplychain.compile.ShipmentRateSpace

::: gds_business.supplychain.compile.DemandType

::: gds_business.supplychain.compile.DemandSpace

## Public Functions

::: gds_business.supplychain.compile.compile_scn

::: gds_business.supplychain.compile.compile_scn_to_system
11 changes: 11 additions & 0 deletions docs/business/api/scn-elements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# gds_business.supplychain.elements

Supply chain element declarations — frozen Pydantic models.

::: gds_business.supplychain.elements.SupplyNode

::: gds_business.supplychain.elements.Shipment

::: gds_business.supplychain.elements.DemandSource

::: gds_business.supplychain.elements.OrderPolicy
5 changes: 5 additions & 0 deletions docs/business/api/scn-model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# gds_business.supplychain.model

SupplyChainModel — declarative container for supply chain networks.

::: gds_business.supplychain.model.SupplyChainModel
5 changes: 5 additions & 0 deletions docs/business/api/verification.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# gds_business.verification

Verification engine — union dispatch across all business diagram types.

::: gds_business.verification.engine.verify
11 changes: 11 additions & 0 deletions docs/business/api/vsm-checks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# gds_business.vsm.checks

VSM verification checks (VSM-001..VSM-004).

::: gds_business.vsm.checks.check_vsm001_linear_process_flow

::: gds_business.vsm.checks.check_vsm002_push_pull_boundary

::: gds_business.vsm.checks.check_vsm003_flow_reference_validity

::: gds_business.vsm.checks.check_vsm004_bottleneck_vs_takt
19 changes: 19 additions & 0 deletions docs/business/api/vsm-compile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# gds_business.vsm.compile

Compiler: ValueStreamModel → GDSSpec / SystemIR.

## Semantic Types

::: gds_business.vsm.compile.MaterialType

::: gds_business.vsm.compile.MaterialSpace

::: gds_business.vsm.compile.ProcessSignalType

::: gds_business.vsm.compile.ProcessSignalSpace

## Public Functions

::: gds_business.vsm.compile.compile_vsm

::: gds_business.vsm.compile.compile_vsm_to_system
15 changes: 15 additions & 0 deletions docs/business/api/vsm-elements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# gds_business.vsm.elements

VSM element declarations — frozen Pydantic models.

::: gds_business.vsm.elements.ProcessStep

::: gds_business.vsm.elements.InventoryBuffer

::: gds_business.vsm.elements.Supplier

::: gds_business.vsm.elements.Customer

::: gds_business.vsm.elements.MaterialFlow

::: gds_business.vsm.elements.InformationFlow
5 changes: 5 additions & 0 deletions docs/business/api/vsm-model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# gds_business.vsm.model

ValueStreamModel — declarative container for value stream maps.

::: gds_business.vsm.model.ValueStreamModel
Loading