Skip to content

Audit Logs

Audit logs track your optimization decisions for reproducible research. The log records which data you used, which models you trained, and which experiments you decided to run—creating a complete, verifiable history of your project.


Using Audit Logs in the Application

The Workflow

1. Train your model:

  • Add your experimental data

  • Train a Gaussian Process model

  • Check diagnostics (parity plot, Q-Q plot, etc.)

2. Run acquisition:

  • Choose your acquisition strategy (Expected Improvement, UCB, etc.)

  • Generate candidate experiments

  • Review the suggestions

3. Add to audit log:

  • Desktop App: When you're happy with a suggestion, click "Log to Audit Trail" in the notification window

  • Web App: Click "Stage to Audit Log" in the Acquisition panel

  • This marks it as a pending experiment you plan to run

  • The log records: model used, acquisition settings, suggested point

4. Add the experiment:

  • Run the experiment in your lab

  • Use "Add Point" dialog to enter the results

  • Or import from CSV

5. Save your session:

  • The audit log is saved with your session

  • Complete record of your optimization decisions

Exporting the Audit Log

The audit log is stored in your session file. To review or share it:

Desktop App:

  • File → Export Audit Log

  • Saves as a Markdown file with a readable report

Web App:

  • Click the export icon in the top toolbar

  • Downloads audit log as Markdown

What's included:

  • Timeline of all decisions

  • Model configurations used

  • Acquisition strategies and parameters

  • Suggested experiments and results

  • Notes you've added along the way


Why Use Audit Logs?

For reproducible research:

  • Prove you followed your methodology

  • Show reviewers exactly what you did

  • Document decisions weren't cherry-picked

  • Support publications with verifiable records

For your records:

  • Remember what worked and what didn't

  • Track multiple optimization attempts

  • Share methodology with colleagues

  • Keep lab notebook records

For collaboration:

  • Share decision rationale with team members

  • Document protocol compliance

  • Enable others to reproduce your work


Advanced: Programmatic Access

For users writing Python scripts:

from alchemist_core import OptimizationSession

session = OptimizationSession()

# Add data and train model
session.add_experiment({'temp': 60, 'pressure': 5}, output=75.3)
session.train_model(backend='botorch')

# Stage acquisition to audit log
candidates = session.suggest_next(strategy='EI', n_candidates=5)
session.lock_acquisition(
    strategy='EI',
    candidates=candidates,
    notes="Batch 3 - targeting optimal region"
)

# Access audit log entries
for entry in session.audit_log.entries:
    print(f"{entry.timestamp}: {entry.entry_type}")

# Export audit log
session.audit_log.export('audit_log.json')

Audit logs are automatically saved with your session file.