Skip to content

max_trials names two different budgets in DyLAN #20

Description

@12yuens2

max_trials names two different budgets in DyLAN

tech-debt · found during Phase 2

Within twenty lines of tasks/mas_workflow/dylan/dylan.py:

max_trials: int = task_config.get('max_trials', 3)   # :170  per-agent-call retries
...
for i in range(env.max_trials):                      # :204  episode budget
    ...
        while tries < max_trials:                    # :219  the retry one again

env.max_trials is how many trials the episode gets. The local max_trials is how many times a single agent call may be retried.

The local one is also read from task_config, where run.py never puts it — max_trials is an experiment config key, consumed by build_task as max_steps and handed to the environment. So the local lookup always falls through to the literal 3.

Severity: confusion, not a live defect. --max_trials does reach the episode budget by the intended route, and the retry budget genuinely is meant to be 3. Worth fixing because the next person to read this cannot tell that from the code.

Fix: rename the retry budget — max_retries, or drop the local entirely — when the DyLAN loop is folded into MetaMAS._call_agent_with_retries, which already takes the budget as a named max_tries parameter. Land with the DyLAN/MacNet retry-loop issue (see the separate issue).


Migrated from docs/BACKLOG.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    tech-debtRefactor / debt cleanup, not a behaviour bug

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions