Skip to content

fix: discover attributed partial mappers once - #38

Merged
AGiorgetti merged 1 commit into
developfrom
feat/codex-24-partial-discovery
Oct 9, 2026
Merged

AGiorgetti merged 1 commit into
developfrom
feat/codex-24-partial-discovery

Conversation

@AGiorgetti

@AGiorgetti AGiorgetti commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Change

Fixes #24.

  • Plan a merged partial mapper only from the declaration owning its first LiteMapper marker. Other attributed parts still contribute members and UseMapper registrations.
  • Preserve existing fatal duplicate-marker diagnostics and incremental candidate identity. No public API or specification semantics change.
  • Add 24 executable regressions plus Basic/clean-package sample coverage and synchronized usage, changelog, and control documents.

Verification

  • Tests-first on unchanged develop: 23 failures and one passing control, zero skips. The Basic sample separately reproduced duplicate-hint CS8785, discarding all three mappers' generated implementations and producing CS8795.
  • Final local generator suite: 676 passed, zero failed/skipped, including all 24 new cases. Runtime 5/5, integration 1/1, and all three source sample smoke runs pass.
  • Release solution build: zero warnings/errors. Generated Basic source was inspected: exactly one file per mapper, with the existing mapping body intact; its rebuild/run passes.
  • Available packaging suite: 220 passed, two infrastructure failures, zero skips, including all 12 consumer framework/language combinations, clean package-backed samples, package/API checks, usage validation, and benchmark smoke.
  • Trimming and Native AOT are locally blocked at ILLink ComputeManagedAssemblies task-host creation (MSB4216 / Unix-domain SocketException 13). PowerShell and clang are absent; 49 PowerShell-dependent cases were not run locally. No local trimming/AOT success is claimed.
  • An initial attribute-targeted-provider prototype recreated identities in two existing incremental tests. The final narrow owner filter retains the established provider; no existing tests were modified. New tests require one plan per mapper per run, stable hint/source content, and cached unchanged/reordered emissions.
  • Independent read-only review found no scoped blocker. CRLF-aware diff validation passes.
  • Remote tree d6fba1646a38562f967e0e3031876f27d0888da3 matches the tested/staged local tree. Exact-head ordinary PR CI passed for 76ce90c: Windows and Linux each passed 953 tests (676 generator, 271 packaging, five runtime, one integration), zero failures/skips; all six Roslyn 4.8.0/4.14.0/5.9.0 OS jobs passed 676 tests each. Full packaging covers the PowerShell, trimming, and Native AOT checks unavailable locally. Both solution builds have zero warnings/errors; source samples, benchmark smoke, and solution-path validation passed. Release pack/artifact-verification/publication jobs were skipped as expected for this ordinary PR.

Retained as draft for human review. No issue comments/claim writes, merge, release, tag push, package publication, or workflow dispatch was performed. Other issues remain outside this fix.

Prepared with OpenAI Codex.

Select the marker-owning partial declaration before planning while preserving incremental candidate identity and duplicate-configuration diagnostics.

Fixes #24.

Co-authored-by: Codex <codex@openai.com>
@AGiorgetti
AGiorgetti marked this pull request as ready for review October 9, 2026 08:57
@AGiorgetti
AGiorgetti merged commit a68bb3e into develop Oct 9, 2026
11 checks passed
@AGiorgetti
AGiorgetti deleted the feat/codex-24-partial-discovery branch October 9, 2026 08:57
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.

[P2] Discover a partial mapper only once when another part has attributes

1 participant