Depends on: #1
Wright cutover: wright#143
Goal
Build workshop-rs as the separately versioned canonical Workshop semantic core and standalone Workshop tooling foundation for WrightKit.
Scope
- Bootstrap the repository with its package/workspace, CI, tests, README, license/provenance policy, and repo-local
AGENTS.md.
- Extract canonical Workshop ownership from Wright without importing Wright tooling responsibilities.
- Own locale-independent Workshop semantic IDs, WIR/canonical semantic representation, parser/CST, validation, emitter, and canonical catalog integration.
- Complete raw Workshop parsing/validation/emission for the declared supported surface, including settings.
- Add localized raw Workshop input/output and first-class raw Workshop locale conversion.
- First release gate: corpus-tested
en-US <-> zh-CN conversion for the declared surface, including settings and representative actions/values/events/enums/content identifiers.
- Preserve user-authored identifiers, strings, and comments according to a documented policy; localize Blizzard-defined Workshop language/content tokens only by default.
- Missing target-locale mappings fail explicitly by default; any fallback is opt-in.
- Provide standalone library and CLI surfaces suitable for use without Wright.
Non-goals
- OPY or DEL/OSTW-compatible source-language semantics.
- Wright lint/agent/orchestration behavior.
- Guaranteeing every Overwatch client locale in the first release.
- Guessing unsupported future syntax.
Acceptance criteria
workshop-rs has no dependency on Wright tooling crates or source-language provider internals.
- Canonical Workshop IDs and semantic representation are locale-independent.
- The supported raw Workshop surface round-trips through parse -> canonical semantics -> emit.
en-US -> zh-CN and zh-CN -> en-US conversion pass the declared corpus, including settings.
- Catalog provenance/version identity is machine-readable and reproducible.
- CLI/library usage is documented and tested.
- The repository exports a stable enough dependency surface for Wright to cut over without keeping a second canonical Workshop implementation.
Depends on: #1
Wright cutover: wright#143
Goal
Build
workshop-rsas the separately versioned canonical Workshop semantic core and standalone Workshop tooling foundation for WrightKit.Scope
AGENTS.md.en-US<->zh-CNconversion for the declared surface, including settings and representative actions/values/events/enums/content identifiers.Non-goals
Acceptance criteria
workshop-rshas no dependency on Wright tooling crates or source-language provider internals.en-US->zh-CNandzh-CN->en-USconversion pass the declared corpus, including settings.