Skip to content

Offload files and notes from CHIRON #42

@aphedges

Description

@aphedges

To help whoever works on this project next, I am including everything relevant that I have written in my notes.

Notes

  • Setup for on Apple silicon Mac using Miniforge 25.1.1-0:
     cat <<EOF >env.yaml
     name: cicero
     dependencies:
     - python==3.7.*
     EOF
     conda env create --file env.yaml --platform osx-64
     conda activate cicero
     pip install -r requirements-lock.txt

Possible future tasks

  • Add to Cicero: Take turn only if there are possible moves

  • Prevent Cicero from sending more advice without a change to the game state

  • Add rollout advice from Cicero to use in commentary

  • Replace direct usage of Game.messages to prevent accidental leakage

  • Follow up in #diplomacy about how to reproduce these issues

    • Cicero slows down after retreat phase (demo has 2 hour turns, i.e., we were manually incrementing turns). Restarting Cicero fixed this.

      For problem 1: Ok, I got it! Game id: debug_demo2 on server: REDACTED . The reproduce situation is as following:

      I used two units of France to move into Italy's VEN, and then it gets into retreat phase for retreating Italy's unit in VEN. I clicked disband on Italy's unit, but I didn't click the ready button. After waiting for 5min, I clicked the ready button. At this moment, I noticed the error of "mismatched phases". After entering the next phase, Cicero advisor on France keeps weird actions and errors.

      More details could be found in the log file: 2025_08_25_23_00_15.txt in instance cicero_instance 2 of 4 . The command that I used to run Cicero Advisor was:

      bash run_cicero.sh latest advisor --host REDACTED --port 8432 --game_id debug_demo2 --human_powers FRANCE --advice_levels 'MESSAGE|OPPONENT_MOVE|MOVE

      Extra problem: I am having a hard time to reproduce the problem 1 somehow, I will try again. But I found an error when I tired to use Cicero to join as Russia advisor at the beginning of the game: debug_demo. Restart the Cicero removes the error with the same command. The command is exactly same as the above one. You can find the log file: 2025_08_25_22_04_02.txt in instance: cicero_instance 2 of 4 .

    • If Cicero thinks there should be a truce it stops giving advice (just sends 'draw' in text). Maybe there is a classifier to decide on truce? Or a flag? Could be an easy way to tell it not to do this.

      For problem 2: I manually created a balanced situation between France and Russia in game_id : debug_demo on server: REDACTED . Kindly join the game using Cicero Advisors with the following command for example, and you would see the Cicero showing like "France voted for draw."

      bash run_cicero.sh latest advisor --host REDACTED --port 8432 --game_id debug_demo --human_powers RUSSIA --advice_levels 'MESSAGE|MOVE'

      I have a possible solution, but it doesn't work properly

  • Work on patches

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions