You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make opy-rs language support a user-facing OverPy support contract, remove parallel shadow support databases, and close the pinned forward OverPy core language surface for the declared forward compiler scope.
Context
docs/language-support.md is read by OverPy users to answer practical questions such as whether dictionaries, macros, member functions, translations, settings, compiler directives, or specific control-flow forms are supported.
The current support system mixes that user-facing purpose with maintainer-oriented audit machinery. Human-readable Markdown, feature-contracts.json, pinned-overpy-audit.json, and conformance-manifest.json duplicate overlapping support state and can drift from code and from one another.
Compatibility checks must remain independent of the native implementation and grounded in pinned upstream behavior, representative projects, ordinary tests, and canonical Workshop contracts. That does not require a machine-readable shadow support database.
Bastion has already served as a real-project convergence gate through #319. Remaining forward-language closure should now be driven by owner tests, pinned reference comparisons, the broader structural work in #366, and other representative projects rather than reopening Bastion-specific fixes.
Scope
Redesign docs/language-support.md as the canonical human-readable support index for OverPy users.
Organize the support surface using OverPy concepts and source spellings rather than compiler/audit terminology.
Use a small user-facing status vocabulary:
✅ Supported
🚧 Partial
❌ Unsupported
Cover the forward OverPy core surface explicitly, including:
syntax and expressions;
variables and assignments;
rules and annotations;
control flow;
arrays, dictionaries, and lambdas;
functions and member functions;
enums and constants;
project composition / multiple files;
preprocessing and macros;
JavaScript macros;
strings and translations;
custom-game settings;
Workshop output-language compatibility;
compiler directives and hooks;
OPY -> Workshop compilation.
Keep Workshop -> OPY reconstruction as a separately stated capability; it does not gate forward-language completion.
Remove feature-contracts.json, pinned-overpy-audit.json, conformance-manifest.json, and tooling/checks whose sole purpose is maintaining those duplicate support databases.
Preserve the behavior through tests, differential probes, source-attributed fixtures/projects, and pinned upstream comparisons rather than duplicating test state as support-state JSON.
Reconcile support claims against current code, tests, pinned upstream behavior, and representative workflows; do not preserve stale Markdown claims merely to keep the documentation green.
Identify forward-language rows that remain 🚧 Partial and resolve them through focused owner-local implementation work.
Treat pinned upstream core behavior as presumptively in scope unless an explicit product/compatibility decision marks a capability unsupported.
Replacing executable tests or differential verification with documentation.
Treating Markdown alone as proof that implementation is correct.
Reproducing upstream internal architecture or data structures.
Introducing a new machine-readable support database under another name.
Requiring Workshop -> OPY reconstruction to be complete before forward OPY -> Workshop validation.
Folding Bastion-specific compiler residuals into generic language-support implementation when they are genuinely project-level convergence issues.
Duplicating canonical Workshop semantics owned by workshop-rs.
Acceptance criteria
docs/language-support.md gives an OverPy user a direct, readable answer for every major language/compiler feature area without requiring knowledge of HIR, WIR, registry leaves, audit branches, coverage states, or internal manifests.
Detailed support pages use real OverPy syntax/names and explain limitations in user terms.
Public support status uses only Supported, Partial, and Unsupported.
The JSON shadow support databases and their maintenance-only validation paths are removed.
Remaining support claims are consistent with current executable evidence and code reality.
Every pinned forward OverPy core feature is either ✅ Supported or explicitly ❌ Unsupported by an approved scope decision; no unresolved 🚧 Partial forward-core rows remain.
The completion check uses independent tests or pinned reference/workflow validation appropriate to the capability.
Parent: #1
Related: #314, #319, #333
Canonical locale dependency: wrightkit/workshop-rs#237
Historical rationale: ADR-0002
Goal
Make
opy-rslanguage support a user-facing OverPy support contract, remove parallel shadow support databases, and close the pinned forward OverPy core language surface for the declared forward compiler scope.Context
docs/language-support.mdis read by OverPy users to answer practical questions such as whether dictionaries, macros, member functions, translations, settings, compiler directives, or specific control-flow forms are supported.The current support system mixes that user-facing purpose with maintainer-oriented audit machinery. Human-readable Markdown,
feature-contracts.json,pinned-overpy-audit.json, andconformance-manifest.jsonduplicate overlapping support state and can drift from code and from one another.Compatibility checks must remain independent of the native implementation and grounded in pinned upstream behavior, representative projects, ordinary tests, and canonical Workshop contracts. That does not require a machine-readable shadow support database.
Bastion has already served as a real-project convergence gate through #319. Remaining forward-language closure should now be driven by owner tests, pinned reference comparisons, the broader structural work in #366, and other representative projects rather than reopening Bastion-specific fixes.
Scope
docs/language-support.mdas the canonical human-readable support index for OverPy users.✅ Supported🚧 Partial❌ Unsupportedfeature-contracts.json,pinned-overpy-audit.json,conformance-manifest.json, and tooling/checks whose sole purpose is maintaining those duplicate support databases.🚧 Partialand resolve them through focused owner-local implementation work.Non-goals
workshop-rs.Acceptance criteria
docs/language-support.mdgives an OverPy user a direct, readable answer for every major language/compiler feature area without requiring knowledge of HIR, WIR, registry leaves, audit branches, coverage states, or internal manifests.Supported,Partial, andUnsupported.✅ Supportedor explicitly❌ Unsupportedby an approved scope decision; no unresolved🚧 Partialforward-core rows remain.Ownership
opy-rs.workshop-rs.