LinxCoreModel is the Rust modeling workspace under tools/LinxCoreModel in the
larger linx-isa superproject.
- Keep repository-local changes inside this workspace unless the work explicitly requires a superproject integration change.
- Do not reintroduce
linxcore-*crate names inside this workspace. The crate graph is nowcamodel,funcmodel,cosim,isa,elf,runtime,trace,dse, andlx-tools. - Keep owner boundaries explicit. In particular:
camodeluses domain/stage modulesfuncmodeluses engine/memory/syscall/trace domains- shared CLI logic belongs in
crates/lx-tools/src/cli/
Run these before opening or updating a pull request:
bash tools/ci/check_repo_layout.sh
bash tools/regression/run_crosschecks.sh --require-smokeIf you do not have a local bring-up ELF under
out/bringup/linux_user_compiler_smoke_O0.elf, you can still run the non-smoke
gates:
bash tools/regression/run_crosschecks.sh- Keep changes focused. Do not mix workspace refactors, behavior changes, and unrelated superproject edits in one PR.
- Include validation evidence and note whether the smoke/crosscheck gates were run with a local ELF or in test-only mode.
- Update docs when you change public crate names, verification commands, or owner/module boundaries.
This repository is intentionally narrower than the linx-isa superproject. Use
superproject governance only where it directly applies here:
- mirror reusable patterns like
tools/ci,tools/regression, anddocs/bringup/gates - do not copy unrelated kernel/compiler/emulator process into this repo
- do not rename architectural references to “LinxCore” or “LinxISA” in the wider superproject just because this workspace dropped redundant crate prefixes