Skip to content

Migration from signed stock-flow to CLD#914

Open
tim-at-topos wants to merge 6 commits intomainfrom
signed-stock-flow-to-cld
Open

Migration from signed stock-flow to CLD#914
tim-at-topos wants to merge 6 commits intomainfrom
signed-stock-flow-to-cld

Conversation

@tim-at-topos
Copy link
Contributor

@tim-at-topos tim-at-topos commented Dec 16, 2025

To-do:

  • write some tests
  • make those tests pass

@github-actions github-actions bot temporarily deployed to netlify-preview December 16, 2025 19:55 Destroyed
@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from a265a14 to 6229e7f Compare December 16, 2025 19:56
@github-actions github-actions bot temporarily deployed to netlify-preview December 16, 2025 19:56 Destroyed
@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from 6229e7f to 26bcb0b Compare December 17, 2025 15:42
@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from 26bcb0b to cf6d83a Compare December 17, 2025 15:43
@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from cf6d83a to 5579937 Compare December 17, 2025 15:45
@tim-at-topos tim-at-topos reopened this Dec 17, 2025
@github-actions github-actions bot temporarily deployed to netlify-preview December 17, 2025 15:46 Destroyed
@github-actions github-actions bot temporarily deployed to netlify-preview December 17, 2025 15:46 Destroyed
@epatters epatters added enhancement New feature or request core Rust core for categorical logic and general computation labels Dec 17, 2025
@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from 3e8c20a to 81c9329 Compare December 17, 2025 21:24
@github-actions github-actions bot temporarily deployed to netlify-preview December 17, 2025 21:25 Destroyed
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 11:11 Destroyed
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 18:18 Destroyed
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 19:37 Destroyed
@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from d9b511e to a232af7 Compare December 18, 2025 20:12
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 20:12 Destroyed
@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from a232af7 to 00abc5f Compare December 18, 2025 20:13
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 20:13 Destroyed
@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from 00abc5f to b68f812 Compare December 18, 2025 20:48
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 20:48 Destroyed
@tim-at-topos
Copy link
Contributor Author

@epatters This test fails, but for "bad reasons" — the models are indeed actually the same, but they are ordered differently. Would you prefer me to

  1. Change the test to simply iterate through all objects and all morphisms and compare them one by one, removing any matches from each model as we go and ensuring that we end up with two empty models?
  2. Actually implement some general method for checking models are equal "up to reordering of HashIndex"?
  3. Something else entirely?

I suppose that one thing that (3) could be is building a visualisation analysis that displays the CLD, but this is roughly as non-trivial as (2) imho (for somebody like me), so I'd rather save that specific suggestion for a future PR

@tim-at-topos tim-at-topos force-pushed the signed-stock-flow-to-cld branch from b68f812 to 99b2aa2 Compare December 18, 2025 21:09
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 21:09 Destroyed
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 21:24 Destroyed
@github-actions github-actions bot temporarily deployed to netlify-preview December 19, 2025 21:04 Destroyed
@epatters
Copy link
Member

@tim-at-topos, is this one still blocked on me? If you want to pick this back up, I can try to debug why your test is failing.

@tim-at-topos
Copy link
Contributor Author

From memory (and my unhelpful commit messages), I made the tests pass in the end by checking for equality of models by just iterating over all ob_generators and mor_generators, which does pass, even though checking for equality of models directly does not. Maybe you could just check that you can reproduce the same behaviour?

Aside from that, I guess I'm happy to ask for this PR to be considered for merging, but I must admit that I haven't yet figured out the next step. The original plan was to just preview the migrated model in an analysis, which seems like something that would be generally useful (i.e. making analyses work with a derived model of a model rather than just the model itself). To actually allow users to migrate along this migration was blocked by us figuring out how we wanted derived models to behave (maybe something that deserves an RFC?).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Rust core for categorical logic and general computation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants