OpenRelix
Generated from Markdown Source docs/validation-matrix.md 中文 EN

OpenRelix Validation Matrix

Languages: English | 简体中文

Use this matrix to choose the smallest useful verification set for a change. Always run the common checks first, then add the row that matches the files you touched.

Common Checks

Run for every OpenRelix change:

python3 scripts/check_personal_info.py
git diff --check

If the checkout has unrelated local files, do not stage or modify them. Mention any relevant dirty state in the handoff.

Change-Type Matrix

Change typeTypical filesExtra checks
Docs onlyREADME*.md, docs/*.md, .github/*Bilingual companion check, link review, version review against package.json, privacy check
Public site docsdocs/*.html, docs/assets/*Local HTTP preview, browser screenshot/interaction check if layout changed, privacy check on screenshots/assets
Python scriptsscripts/*.py, scripts/openrelix_overview/*.pypython3 -m py_compile scripts/*.py install/*.py, focused unit tests
Installerinstall/, ops/launchd/, install/templates/zsh -n install/install.sh scripts/*.sh, focused installer tests, temporary state smoke
Runtime path/configscripts/asset_runtime.py, installer config writesTemporary AI_ASSET_STATE_DIR loop, config read/write focused tests
Host collectionscripts/collect_codex_activity.pypython3 -m unittest tests/test_collect_codex_activity.py
Memory policy/contextscripts/build_codex_memory_summary.py, scripts/sync_host_memory_summary.py, scripts/openrelix_overview/memory_context.pypython3 -m unittest tests/test_memory_context.py tests/test_memory_summary_builder.py
Curated memory packscripts/build_curated_memory_pack.py, scripts/openrelix_overview/curated_memory.pypython3 -m unittest tests/test_curated_memory.py
Indexscripts/openrelix_index.pypython3 -m unittest tests/test_openrelix_index.py
Overview/panel datascripts/build_overview.py, scripts/openrelix_overview/*, report contracttemporary overview build plus PYTHONPATH=scripts python3 -m openrelix_overview.contract --state-dir "$STATE_DIR"
Package surfacepackage.json, package allowlist, public plugin bundlenpm pack --dry-run --json and inspect file list
Release/publishversion, changelog, GitHub release, npm publishFull test suite, package dry run, release checklist

Temporary State Loop

Use this when a change may touch state-root behavior:

STATE_DIR="$(mktemp -d /tmp/openrelix-validation.XXXXXX)"
AI_ASSET_STATE_DIR="$STATE_DIR" python3 scripts/build_overview.py
python3 -m json.tool "$STATE_DIR/reports/overview-data.json" >/dev/null
PYTHONPATH=scripts python3 -m openrelix_overview.contract --state-dir "$STATE_DIR"

For installer-to-panel smoke:

scripts/smoke_temp_panel.sh --no-open
scripts/cleanup_smoke_temp.sh --dry-run

Only seed from current state when the task explicitly needs real local data. Never copy seeded output into repo files.

Full Pre-Release Set

Run before release, publish, installer, docs/site, or package-surface work:

python3 scripts/check_personal_info.py
git diff --check
python3 -m py_compile scripts/*.py install/*.py
python3 -m unittest discover -s tests
npm pack --dry-run --json

Inspect the package list and confirm it does not include state roots, raw history, generated reports, logs, private screenshots, or development-only harness skills.

Handoff Format

Include this in the final review note or pull request:

Change:
Files:
Verification:
Skipped checks:
Privacy/package notes:
Residual risk:

Keep command output summaries short. Do not paste raw private logs.