Skip to content

feat(formdsl): add per-interface multipatch coupling controls#55

Merged
xywei merged 3 commits intomainfrom
feat/formdsl-iga-per-interface-coupling-controls
Apr 7, 2026
Merged

feat(formdsl): add per-interface multipatch coupling controls#55
xywei merged 3 commits intomainfrom
feat/formdsl-iga-per-interface-coupling-controls

Conversation

@xywei
Copy link
Copy Markdown
Owner

@xywei xywei commented Apr 7, 2026

Summary

  • add optional per-interface penalty to multipatch interface descriptors in IR/parser with deterministic finite-positive validation
  • apply deterministic precedence in IGA coupling (interface.penalty overrides global multipatch_penalty fallback) and expose effective values in interface_lowering
  • expand multipatch regression coverage for parse failures, precedence behavior, and operator deltas
  • update multipatch stress fixtures/docs and mark OpenSpec tasks/plan complete

Validation

  • uv run pytest tests/formdsl/test_formdsl_assembly.py -k multipatch
  • uv run pytest tests/evals/test_formdsl_benchmarks.py
  • uv run pytest tests/test_script_wrappers.py
  • uv run python scripts/run_formdsl_parity_benchmark.py --resolutions 8 --include-multipatch-stress --allow-fail
  • openspec validate formdsl-iga-multipatch-interface-controls --strict
  • make dev

Extend multipatch interface descriptors with optional penalty values and apply deterministic precedence where interface penalty overrides global multipatch_penalty fallback for IGA coupling assembly. Effective penalties are now surfaced in interface_lowering metadata to make control application explicit and testable.

Adds deterministic parse/validation checks for malformed interface penalties, updates multipatch stress fixtures to exercise interface penalties, and expands regression coverage for override behavior and matrix deltas. OpenSpec tasks/plan are marked complete and docs reflect the new controls. Validated with: uv run pytest tests/formdsl/test_formdsl_assembly.py -k multipatch, uv run pytest tests/evals/test_formdsl_benchmarks.py, uv run pytest tests/test_script_wrappers.py, uv run python scripts/run_formdsl_parity_benchmark.py --resolutions 8 --include-multipatch-stress --allow-fail, openspec validate formdsl-iga-multipatch-interface-controls --strict, and make dev.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cbd94e58d2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Prevent runtime type errors in IGA multipatch coupling when callers construct WeakFormIR directly with non-numeric interface penalty values. WeakFormIR multipatch validation now rejects non-numeric penalty types instead of silently accepting castable strings.

Adds regression coverage for parse_form on WeakFormIR with string interface penalty. Validated with: uv run pytest tests/formdsl/test_formdsl_assembly.py -k multipatch and make dev.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f9f3ca9116

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Ensure multipatch descriptors that differ only by per-interface penalty still fail deterministic validation when they map to the same canonical interface geometry. This aligns parse-time validation with backend duplicate handling and prevents late assembly failures.

Adds regression coverage for duplicate canonical interfaces with differing penalties. Validated with: uv run pytest tests/formdsl/test_formdsl_assembly.py -k multipatch and make dev.
@xywei xywei merged commit 7cec2a6 into main Apr 7, 2026
10 checks passed
@xywei xywei deleted the feat/formdsl-iga-per-interface-coupling-controls branch April 7, 2026 14:23
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.

1 participant