Skip to content

Public release checklist ​

Retained project assets ​

This repository intentionally retains peer-contributed sample tables, regional scenario plans, workbooks, historical schema notes, the legacy generator, tracked simulation configurations, and generated reference datasets. Removing all of them is not necessary solely because the repository will be public.

Their safe publication depends on correct classification:

  • describe them as synthetic, legacy, illustrative, or reference material;
  • credit known contributors in Credits and Provenance;
  • never describe them as verified Amazon exports or actual brand campaign records;
  • confirm that they contain no customer-level identifiers, credentials, contractual information, or confidential business measurements;
  • preserve historical schema differences rather than silently presenting them as current output.

Automated current-tree audit ​

Run from the repository root:

sh
python scripts/check_public_release.py
python -m unittest discover -s ZheyuanWu/simulations/baseline/tests -v
python -m unittest discover -s ZheyuanWu/simulations/regional/tests -v

The audit rejects explicitly private directories, common assigned credential forms, private keys, and local home-directory paths. It intentionally permits the credited workbooks, configurations, and generated synthetic fixtures.

An automated scan cannot decide whether a business assumption is confidential. A contributor familiar with the source material must review every retained document and dataset before publication.

Git history decision ​

A full rebase is optional if every historical file and commit message is approved for publication. It remains necessary if removed internal material—such as the prompt record—or any historical version must remain private.

Choose one approach:

  1. Preserve history after a complete human and automated history audit.
  2. Rewrite only the paths that must remain private.
  3. Publish a new clean-root history containing the approved current tree.

History rewriting changes commit identifiers and normally requires a coordinated force push. Make an offline backup first.

Private production use ​

Real campaign configurations and strategy-optimization outputs should live in a separate private repository. Install this package there, pass configuration paths through the command line, and use an external writer adapter for its database or customized export contract.

Public algorithms; caller-owned private data.