Skip to content

Stateful configuration, context to process action#71

Draft
TimothyWillard wants to merge 1 commit intomainfrom
push-xlxoqzlpzpto
Draft

Stateful configuration, context to process action#71
TimothyWillard wants to merge 1 commit intomainfrom
push-xlxoqzlpzpto

Conversation

@TimothyWillard
Copy link
Collaborator

@TimothyWillard TimothyWillard commented Dec 2, 2025

Modified the flepimop2 CLI to work with stateful configuration files
by adding a "history" top level key that tracks recent actions. This
allows for successive invocations of a configuration file to share
context. I.e. A user can simulate a model to produce some set of outputs
and then use the out configuration from said invocation to plot with the
process CLI that will have access to the recent simulation outputs.
Stateful configurations is optional, only used if the user explicitly
provides an output for the configuration.

  • Added --out-config option to simulate/process that will dump the
    configuration file used to the given file for later reuse.
    Incorporated this feature into the external provider integration test.
  • Added "history" top level key to the configuration model as a record
    of the actions performed with the configuration file. This is
    represented as a list of ActionModels which now replaces the
    previous RunMeta object.
  • Configuration is now passed to ProcessABC.execute and supporting
    methods to provide context about recent invokations to the process
    action. Namely to connect a process action with recent simulate
    outputs.
  • Renamed some variables within simulate/process CLIs for clarity.

Closes #55. Closes #62.

Copy link
Member

@pearsonca pearsonca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor stuff for this specifically, but bigger picture we should revisit the expected output of a flepimop invocation (e.g. i've argued it should be the resolved yaml file).

I also want to think a bit harder about the history element you're introducing here. I think we definitely need to do some kind of history-like-amendments to the config, but I'm torn as to whether its a top level thing vs a within-relevant-block item.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thinking a bit about a simple shell invocation - what's a plausible standard way to pass the config information to a shell command invocation? I think approximately the path to the config file?

As in, let's imagine I want to define an arbitrary shell command, that's going to be executed in the working location that I call flepimop2. How would I run that command pointing to resolved location of the config file?

@TimothyWillard TimothyWillard force-pushed the push-xlxoqzlpzpto branch 2 times, most recently from 6b15cc2 to 28bb164 Compare December 8, 2025 16:08
@TimothyWillard TimothyWillard force-pushed the push-xlxoqzlpzpto branch 2 times, most recently from 81c22b7 to e5ea40b Compare January 6, 2026 21:45
Modified the `flepimop2` CLI to work with stateful configuration files
by adding a "history" top level key that tracks recent actions. This
allows for successive invocations of a configuration file to share
context. I.e. A user can simulate a model to produce some set of outputs
and then use the out configuration from said invocation to plot with the
process CLI that will have access to the recent simulation outputs.
Stateful configurations is optional, only used if the user explicitly
provides an output for the configuration.

- Added `--out-config` option to simulate/process that will dump the
  configuration file used to the given file for later reuse.
  Incorporated this feature into the external provider integration test.
- Added "history" top level key to the configuration model as a record
  of the actions performed with the configuration file. This is
  represented as a list of `ActionModel`s which now replaces the
  previous `RunMeta` object.
- Configuration is now passed to `ProcessABC.execute` and supporting
  methods to provide context about recent invokations to the process
  action. Namely to connect a process action with recent simulate
  outputs.
- Renamed some variables within simulate/process CLIs for clarity.

Closes #55. Closes #62.
@TimothyWillard TimothyWillard marked this pull request as draft January 12, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RunMeta timestamp is constant Provide context about flepimop2 invocation to ProcessABC

2 participants