Skip to content

Enforce deterministic translation pipeline and remove unsupported semantic fallback paths - #170

Draft
TristinPorter with Copilot wants to merge 2 commits into
Devfrom
copilot/understanding-codebase-structure-again
Draft

Enforce deterministic translation pipeline and remove unsupported semantic fallback paths#170
TristinPorter with Copilot wants to merge 2 commits into
Devfrom
copilot/understanding-codebase-structure-again

Conversation

Copilot AI commented May 19, 2026

Copy link
Copy Markdown
Contributor

This change implements the roadmap direction to harden translation behavior without introducing an IR layer. It tightens determinism and reliability by making parse/plan/emit decisions stable and rejecting semantic holes instead of silently degrading.

  • Deterministic parse selection

    • Added stable tie-breakers for parse result and alternation selection.
    • Canonicalized sequence fallback ordering and grammar rule discovery order to remove reflection/order variance.
  • Planner fail-closed behavior for unsupported semantic targets

    • Removed placeholder insertion for unmapped required target semantic children.
    • Candidate mappings with unresolved semantic child projection are now marked unsupported and excluded.
  • Deterministic output reproducibility gate

    • Added replay check in compilation flow to ensure repeated translation of the same input yields identical output/diagnostics.
    • Extended reliability policy with explicit output reproducibility requirement.
  • Policy versioning surfaced in failures

    • Added reliability policy version field and included it in failure messages to pin behavior and aid regression triage.
  • Determinism regression coverage

    • Added dedicated test project with deterministic replay and mapping-selection stability assertions, plus a deterministic failure-path assertion for unsupported mappings.
var translation = translator.TranslateDetailed(sourceDiagram.Root);
var replay = translator.TranslateDetailed(sourceDiagram.Root);
var reproducibleTranslationOutput = AreExecutionOutputsEquivalent(translation, replay);

Copilot AI and others added 2 commits May 19, 2026 04:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants