fermilink.drvloop.main module

class fermilink.drvloop.main.DrvloopConfig[source]

Bases: object

DrvloopConfig(repo_dir: ‘Path’, user_prompt: ‘str’, prompt_file: ‘str | None’ = None, max_iterations: ‘int’ = 30, sandbox: ‘str | None’ = None, proof_depth: ‘str’ = ‘publication’)

__init__(repo_dir, user_prompt, prompt_file=None, max_iterations=30, sandbox=None, proof_depth='publication')
Parameters:
  • repo_dir (Path)

  • user_prompt (str)

  • prompt_file (str | None)

  • max_iterations (int)

  • sandbox (str | None)

  • proof_depth (str)

Return type:

None

max_iterations: int = 30
prompt_file: str | None = None
proof_depth: str = 'publication'
repo_dir: Path
sandbox: str | None = None
user_prompt: str
fermilink.drvloop.main.build_drvloop_prompt(*, repo_dir, user_prompt, artifact_changes, spec_context, validation_report, sketch_records, workflow_state)[source]
Parameters:
  • repo_dir (Path)

  • user_prompt (str)

  • artifact_changes (list[dict[str, object]])

  • spec_context (DerivationSpecContext)

  • validation_report (dict[str, object])

  • sketch_records (list[dict[str, object]])

  • workflow_state (dict[str, object])

Return type:

str

fermilink.drvloop.main.build_publication_sweep_prompt(*, repo_dir, user_prompt, spec_context, validation_report, workflow_state, sweep_status)[source]
Parameters:
  • repo_dir (Path)

  • user_prompt (str)

  • spec_context (DerivationSpecContext)

  • validation_report (dict[str, object])

  • workflow_state (dict[str, object])

  • sweep_status (dict[str, object])

Return type:

str

fermilink.drvloop.main.cmd_drvloop(args)[source]
Parameters:

args (Namespace)

Return type:

int

fermilink.drvloop.main.main(argv=None)[source]
Parameters:

argv (list[str] | None)

Return type:

int

fermilink.drvloop.main.publication_sweep_path_for(repo_dir)[source]
Parameters:

repo_dir (Path)

Return type:

Path

fermilink.drvloop.main.run_drvloop(config)[source]

Run the minimal derivation loop.

Parameters:

config (DrvloopConfig)

Return type:

int