- Base: isolated cloud worktree from develop 9c48bfd59fe586097ca18c4289c85f03e93e30bc after PR #46 merged. New P2 issue #47 has no blocked-by dependencies, sub-issues or competing PRs. Authorized exec:agent and ready:agent labels were added/read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: the completed 29-case addition yielded 20 failures and nine passing controls on unchanged production; all 38 prior capture cases passed, zero skips. Configured direct/dotted paths invoked the competing non-nullable updater. The normally compiled Basic sample independently failed its overload assertion. One malformed external-container fixture in the initial iteration was corrected before the final baseline.
- Implementation: remove the direct-member-only restriction from existing patch-capture type restoration. Both automatic and configured value captures retain their selected source type for C# overload binding. Resolver precedence, guards, receivers, per-member order, public API and specification semantics are unchanged.
- Core evidence: Release solution build has zero warnings/errors. All 946 generator, five runtime and one integration tests pass with zero failures/skips. The related focused group passes 111/111; all three source samples pass. Independent read-only review, consumer-skill validation and CRLF-aware diff checks pass.
- Package evidence: available packaging suite records 224 passes, two infrastructure failures, zero skips. All 12 framework/language consumers, clean-package samples, usage validation, package/API checks and benchmark smoke pass. The shared ConfiguredUpdaterOverloadExample executes in source, clean-package and matrix consumers, including real netstandard2.0/C#9 references; generated source was inspected for both nullable casts and capture reuse. Normal/trim/AOT consumers include the same example.
- Local limits: trimming and Native AOT fail before publish behavior is established at ILLink ComputeManagedAssemblies task-host creation, with MSB4216 / Unix-domain SocketException 13. PowerShell and clang are absent; 49 PowerShell-dependent cases were not run locally. No warning, assertion, dependency, prerequisite, credential or security setting was weakened. SDK 10.0.401 and runtimes 8.0.31/9.0.20/10.0.12 use workspace-local caches/temporary files and one-processor builds. Exact-head ordinary Windows/Linux and Roslyn CI evidence belongs in the draft PR.
- Coverage and boundary: direct/dotted explicit Use, Source-only default selection, missing leaf/intermediate, non-nullable leaf, void/returning/get-only/replacement, instance/external, changing getters, sequential failure and deterministic C#9 output. Issue #47 only, then human review; issue #48 remains open and untouched. No user-computer access, merge, release, tag, package publication or workflow dispatch.
- Base: isolated cloud worktree from develop 7b19def74753df90cb3770c7410ff5d7a3951244 after PR #45 merged. Issue #32 was the only open issue, with no blocked-by dependencies, sub-issues, or competing PRs. Authorized exec:agent and ready:agent labels were added/read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: the initial 13-case C# 9 suite produced two allocation/storage failures and 11 passing controls, zero skips, on unchanged production. The tracked chain retained quadratic full-string prefixes. Exact metadata, sibling/concurrent calls, same-tracker cleanup, and None controls were already passing; no expected runtime contract was changed.
- Implementation: private readonly Path values keep the first literal segment inline and allocate immutable ancestor links only when extending a nonempty path. Duplicate-reference Enter formats the path with two iterative passes and one join. Active-reference Enter/finally/Exit scopes, public names, collection forwarding, and the one-field tracker remain unchanged. No public API, reflection, runtime dispatch, or specification semantics change.
- Allocation evidence: depths 16/32/64/128/256 improve from 3,032/9,200/31,000/111,792/421,520 to 1,744/3,560/7,440/15,528/32,392 total bytes per mapping in three identical rounds. None remains 512/1,024/2,048/4,096/8,192; shallow depths 1/2 remain 232/264 and 256 sibling depth-2 chains remain 18,656. Runtime manual controls verify no added first-edge path allocation. PERFORMANCE_OPTIMIZATION_NOTES.md records environment and method; no throughput, peak-memory, release, or general stack-safety claim is made.
- Core evidence: final Release solution build has zero warnings/errors. All 917 generator tests, five runtime tests, and one integration test pass with zero failures/skips. All 13 focused cases and three source samples pass. The new shared Basic example covers depth 256, exact direct/indirect/bridged collection paths, public method names, shared siblings, and later calls after exceptions. Independent read-only review, consumer-skill validation, and CRLF-aware diff checks pass.
- Package evidence: Available packaging retry: 224 passed, two infrastructure failures, zero skips. All 12 framework/language combinations, normal/clean-package consumers, usage validation, package/API checks, and benchmark smoke pass. The shared cycle example executes in each framework/language consumer, including genuine netstandard2.0 references; actual netstandard2.0/C#9 generated source was inspected. Trimming and Native AOT fail before publish behavior is established at ILLink ComputeManagedAssemblies task-host creation (MSB4216 / Unix-domain SocketException 13). No local trimming/AOT success is claimed.
- Validation recovery: the first candidate passed 111 of 112 focused cases; one existing string-specific source regex was updated solely for the new representation while retaining its runtime assertions. Strengthening shallow allocation controls exposed CS0762 in the test input before source generation; a lambda wrapper corrected the fixture without changing production or weakening the clean-input check. A complete 917-test rerun then passed. The first available-package attempt was interrupted by automatic approval-review cancellation and produced no final TRX; it is not completion evidence.
- Environment: existing official SDK 10.0.401, runtimes 8.0.31/9.0.20/10.0.12, task-local temporary files/caches, and one-processor builds. PowerShell and clang are absent; 49 PowerShell-dependent cases are unavailable locally. No assertion, warning, dependency, prerequisite, credential, or security setting was weakened. Exact-head ordinary Windows/Linux and Roslyn CI evidence belongs in the draft PR.
- Boundary: issue #32 only, then human review. The previously documented nullable-intermediate enum defect remains outside scope. No user-computer access, other issue, merge, release, tag push, package publication, or workflow dispatch.
- Base: isolated cloud worktree from develop c973aac8e457cc40a4069889aeab49d8278ccca3 after PR #44 merged. Issue #31 was the older remaining P3, with no blocked-by dependencies, sub-issues, or competing PR. Explicitly authorized exec:agent and ready:agent labels were added and read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: 31 new C# 9 generator cases on unchanged production produced 19 failures and 12 controls, zero skips. Widened and structural values discarded key comparer identity; same-type custom key conversions incorrectly retained it. All fixture inputs compile cleanly. The normally compiled Collections sample independently failed its comparer-preservation assertion after building with zero warnings/errors.
- Implementation: carry an identity flag only from the successful language-conversion stage of key resolution. Dictionary preservation checks compatible key types rather than value types. Earlier custom converter/mapping stages remain non-identity; concrete-source eligibility, Add insertion, set comparer behavior, public API, and specification semantics remain unchanged.
- Core evidence: Release solution build has zero warnings/errors. All 904 generator tests, five runtime tests, and one integration test pass with zero failures/skips. The focused dictionary/collection/set group passes 96/96. All three source samples pass. Actual generated sample source has comparer-bearing construction for identity keys and default construction for transformed keys, with one foreach/Add loop. Independent read-only review, consumer-skill validation, and CRLF-aware diff checks pass.
- Package evidence: available packaging suite records 224 passes, two infrastructure failures, zero skips. All 12 framework/language combinations compile and execute the shared DictionaryComparerExample, including genuine netstandard2.0 references. The example covers widening/structural values and custom-key default-comparer/collision controls across Dictionary, IDictionary, and IReadOnlyDictionary destinations. Clean-package samples, usage validation, package/API checks, and benchmark smoke pass. Normal, trimmed, and Native AOT package consumers reuse the same source.
- Local limits: trimming and Native AOT fail before publish validation at ILLink ComputeManagedAssemblies task-host creation with MSB4216 / Unix-domain SocketException 13. PowerShell and clang are absent; 49 PowerShell-dependent cases were not run locally. No warning, assertion, dependency, prerequisite, credential, or security setting was weakened. Existing SDK 10.0.401 and runtimes 8.0.31/9.0.20/10.0.12 use workspace-local caches and temporary files with one-processor builds. Exact-head ordinary Windows/Linux and Roslyn CI evidence belongs in the draft PR.
- Boundary: issue #31 only, then human review. The previously documented nullable-intermediate enum defect and issue #32 remain outside scope. No user-computer access, other issue, merge, release, tag push, package publication, or workflow dispatch.
- Base: isolated cloud worktree from develop 63885e1af353b45f85c28fdf2306c06409cd92bb after PR #43 merged. Issue #30 was the only remaining P2, with no blocked-by dependencies, sub-issues, or competing PRs. Authorized exec:agent and ready:agent labels were added and read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: final 36-case generator fixture on unchanged production yielded 15 failures and 21 controls, zero skips. The genuine package matrix independently produced three netstandard2.0 failures (C# 9/14/latest), each with four CS1503 capacity-constructor errors, and nine passing modern-framework controls. Packages for this baseline were built before the production fix.
- Implementation: independently probe exact accessible by-value HashSet(Int32) and HashSet(Int32, IEqualityComparer) constructors on the constructed consumer symbol. Counted set mappings use the proven overload; missing capabilities fall back to parameterless/comparer-only construction. List/dictionary construction, comparer selection, public API, and specification semantics are unchanged.
- Core evidence: final Release solution build has zero warnings/errors. All 873 generator tests pass, including 36 new cases; five runtime and one integration test pass, zero failures/skips. The final CRLF fixture rerun passes 36/36. Capability fixtures cover absent, asymmetric, inaccessible, inexact, and by-ref signatures, internal accessibility, same-driver changes, C# 9 compilation, converted contents, duplicate collapse, comparer identity, independent collections, and one enumeration. Independent read-only review found no remaining blocker; consumer-skill and CRLF-aware diff checks pass.
- Package evidence: available packaging suite completed with 224 passes, two infrastructure failures, zero skips. All 12 framework/language combinations compile and execute, asserting parameterless/comparer-only construction on actual netstandard2.0 references and capacity/combined overloads on net8.0/net9.0/net10.0. Clean-package/source samples, usage validation, package/API checks, and benchmark smoke pass. The shared PortableSetExample covers array/list sources, HashSet/ISet and available IReadOnlySet destinations, converted values, compatible comparers, and independent identity. Clean-package copying now includes all top-level sample C# files; normal, trimmed, and Native AOT consumer fixtures reuse the same example.
- Local limits: trimming and Native AOT fail before publish validation at ILLink ComputeManagedAssemblies task-host creation with MSB4216 / Unix-domain SocketException 13. PowerShell and clang are absent; 49 PowerShell-dependent cases were not run locally. No assertion, warning, dependency, prerequisite, credential, or security setting was weakened. The fresh cloud workspace restored the previously authorized official Microsoft SDK 10.0.401 and runtimes 8.0.31/9.0.20; runtime 10.0.12 is included. Caches and temporary files remain task-local with one-processor builds. Exact-head ordinary Windows/Linux and Roslyn CI evidence belongs in the draft PR.
- Boundary: issue #30 only, then human review. Dictionary-comparer issue #31 and the previously documented nullable-intermediate enum defect remain outside scope. No user-computer access, other issue, merge, release, tag push, package publication, or workflow dispatch.
- Base: isolated cloud worktree from develop af3fd9ed403da20043705ce8e387578fbe7ad78c after PR #42 merged. Issue #29 was the oldest remaining P2, with no blocked-by dependencies, sub-issues, or competing PRs. Authorized exec:agent and ready:agent labels were added and read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: 34 initial generator cases yielded 17 failures and 17 controls on unchanged production, zero skips. Present direct getters ran twice; changing getters mapped the wrong child or threw NullReferenceException on a second-read null. The normally compiled Basic example independently threw NullReferenceException. A nullable-struct overload control passed unchanged production, then failed the naive capture candidate (99 instead of 7); retaining the original nullable value type preserves the selected overload.
- Implementation: direct nested updater arguments reuse their existing patch capture, falling back to the existing Throw capture/direct expression. Direct nullable value captures are cast to their original source type for overload binding. Configured paths, per-member emission order, null skipping, updater eligibility, and public API are unchanged. Usage, consumer guidance, and changelog are synchronized.
- Verified core evidence: Release solution build has zero warnings/errors. All 837 generator tests pass, including 38 new cases, plus five runtime and one integration test, zero failures/skips. The combined new/nested/update/path subset passes 77/77. Fixtures compile under C# 9 without warnings and cover void/returning declared and handwritten updaters, get-only/writable children, changing/null getters, instance/nullable-input methods, Throw behavior, deterministic output, and retained earlier assignments/exception identity on later failure. Independent read-only review and consumer-skill/CRLF-aware diff checks pass.
- Verified package evidence: 224 passes, two infrastructure failures, zero skips in the available packaging suite. All 12 framework/language combinations, clean-package/source samples, usage, package/API checks, and benchmark smoke pass. Basic, matrix, and trimmed/AOT consumers include the changing-getter reproduction and null-preservation control. Actual netstandard2.0/C# 9 generated source was inspected: guard and invocation consume the same capture.
- Local limits: trimming and Native AOT fail at ILLink ComputeManagedAssemblies task-host creation with MSB4216 / Unix-domain SocketException 13, before publish behavior is established. PowerShell and clang are absent; 49 PowerShell-dependent cases were not run locally. No warning, assertion, dependency, prerequisite, credential, or security setting was weakened. Exact-head ordinary Windows/Linux and Roslyn CI evidence belongs in the draft PR.
- Boundary: issue #29 only, then human review. The previously documented nullable-intermediate enum defect remains outside scope. No user-computer access, other issue, merge, release, tag push, package publication, or workflow dispatch.
- Base: isolated cloud worktree from develop 14eaa974769554884d7f8ca71ff8821a6e19470f after PR #41 merged. Issue #28 was the oldest remaining P2, with no blocking dependencies, sub-issues, or competing PRs. Authorized exec:agent and ready:agent labels were added and read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: final 40-case generator fixture yielded 22 failures and 18 controls on unchanged production, zero skips. An initial fixture also included two independently unsupported nested-interface cases; these were removed and replaced with constructor exact-policy controls before the final baseline. Four clean-package cases independently demonstrated successful compilation of ambiguous mappings on netstandard2.0/net8.0/net9.0/net10.0. A subsequent red run isolating direct/nested mapper containers was interrupted by automatic approval cancellation and produced no final TRX.
- Implementation: restrict member-matching exact priority to Exact and ExactThenIgnoreCase; preserve LITEMAPPER1004 at the nested target member when structural planning encounters ambiguity. Constructor matching, explicit configuration, hidden-member selection, failure isolation, and public API remain unchanged. Usage, consumer guidance, and changelog are synchronized.
- Verified core evidence: Release solution build has zero warnings/errors. All 799 generator tests pass, including 40 new cases; runtime five and integration one pass, zero failures/skips. The focused new/constructor/inheritance/root-converter set passes 94/94. C# 9 fixtures assert diagnostic severity/location, omitted invalid methods, retained independent methods, deterministic output, and runtime exact/unique-match controls. Independent read-only review, consumer-skill validation, and CRLF-aware diff checks pass.
- Verified package evidence: 224 passes, two infrastructure failures, zero skips in the available packaging suite. All four final isolated package ambiguity cases pass, rejecting invalid direct/nested mappings without generated implementations. All 12 successful framework/language combinations, clean-package samples, source samples/usage, package/API checks, and benchmark smoke pass.
- Local limits: trimming and Native AOT fail at ILLink ComputeManagedAssemblies task-host creation with MSB4216 / Unix-domain SocketException 13, before publish behavior is established. PowerShell and clang are absent; 49 PowerShell-dependent cases were not run locally. Workspace-local temporary files avoid the previous small-temp-filesystem failure. No warning, assertion, dependency, prerequisite, credential, or security setting was weakened. Exact-head ordinary Windows/Linux and Roslyn CI evidence belongs in the draft PR.
- Boundary: issue #28 only, then human review. The previously documented nullable-intermediate enum runtime defect and other issues remain outside scope. No user-computer access, merge, release, tag push, package publication, or workflow dispatch.
- Base: isolated cloud worktree from develop 8d41533957c7b5b27943327c8b6b3eef171b4232 after PR #40 merged. Issue #27 was the oldest remaining P2; no blocked-by dependencies, sub-issues, or competing PRs. Authorized exec:agent and ready:agent labels were added and read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: the completed 31-case fixture yielded 23 failures and eight controls on unchanged production, zero skips. An additional nullable tuple-field case independently failed before the fix. The Basic sample also failed CS8081. Earlier 23-case exploration included an adjacent null-preservation runtime case; its exact failing fixture is retained in task evidence and the scope boundary is described below.
- Implementation: pass stable source parameter/member/path/element names through enum planning and nullable recursion. Escape them as string literals in ArgumentOutOfRangeException metadata; preserve existing value captures, ActualValue, null guards, enum policy, and getter evaluation. The root snapshot changes only equivalent nameof(source) formatting.
- Verified core evidence: final Release solution build has zero warnings/errors. All 759 generator tests pass, including 32 new cases, plus five runtime and one integration test, zero failures/skips. All three source samples pass. C# 9 fixtures assert successful compilation without generated warnings; actual netstandard2.0/C# 9 package-generated source was inspected. Independent read-only review and CRLF-aware diff checks pass.
- Package coverage: the Basic sample, clean-package consumers, all 12 framework/language combinations, and trimming/Native AOT consumers contain the nullable Child.State reproduction. The available package suite first recorded 216 passes and six failures, zero skips: generated consumers filled the 4.9 GB temporary filesystem, while trimming reached the established task-host restriction. Only this task's generated consumers were preserved in the larger workspace; rerunning the six affected cases with a workspace-local temporary directory produced four passes and two infrastructure failures. Across the full run and focused recovery, all 220 available non-publish package cases pass. This is not a single all-green invocation.
- Remaining local limits: trimming and Native AOT fail at ILLink ComputeManagedAssemblies task-host creation with MSB4216 / Unix-domain SocketException 13, before publish behavior is established. PowerShell and clang are unavailable; 49 PowerShell-dependent cases were not run locally. No warning, assertion, dependency, prerequisite, credential, or security setting was weakened. Ordinary exact-head Windows/Linux CI evidence belongs in the draft PR.
- Known separate defect: a nullable intermediate with a non-nullable enum leaf and nullable enum target still fails runtime null preservation. The committed case verifies only compilation and stable naming for this boundary; the original runtime-failing reproduction is retained separately, and usage/decision/PR text disclose the limitation. No issue among #28-32 tracks this variant, and no new issue was created.
- Boundary: issue #27 only, then draft PR/human review. No user-computer access, other bug fix, merge, release, tag push, package publication, or workflow dispatch.
- Base: isolated cloud worktree from develop 38e313ef836f9400dd0eeaea56d48ba35dca733d after PR #39 merged. Issue #26 was the oldest remaining P2, with no blocking dependencies, sub-issues, or competing open PRs. User-authorized exec:agent and ready:agent labels were added and read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: 31 new generator cases on unchanged production produced 23 failures and eight passing Error/converter controls, zero skips. Runtime cases exposed NullReferenceException, and generated compilation exposed CS8604. The Collections sample independently threw NullReferenceException. Test inputs were checked for unrelated compiler errors before generation.
- Implementation: guard the selected structural element fallback, using a pattern capture for nullable targets and a coalescing InvalidOperationException guard under Throw. Higher-precedence converters and the existing Error diagnostic remain unchanged. Preserve collection helper source annotations; structural helper input/output types are already normalized to non-null.
- Verified core evidence: all 31 focused cases and all 727 generator tests pass, plus five runtime and one integration test, zero failures/skips. Final Release solution build has zero warnings/errors; all three source samples pass. Generated netstandard2.0 package source was inspected and captures each element before its object helper call. Independent review found no scoped blocker; CRLF-aware diff validation passes.
- Package coverage: the Collections sample, clean-package consumers, all 12 framework/language fixtures, and trimming/Native AOT fixture include nullable structural elements. Final available packaging run: 220 passed, two infrastructure failures, zero skips. All 12 framework/language combinations, clean-package samples, package/API checks, usage validation, and benchmark smoke pass. Trimming and Native AOT fail before publish validation at ILLink ComputeManagedAssemblies task-host creation (MSB4216 / Unix-domain SocketException 13). No local trimming/AOT success is claimed.
- Validation recovery: an initial sample placed nullable and non-null collection mappings in one mapper, invoking unrelated declared-mapping selection and producing CS8619; the example now has its own mapper. The consumer fixture count was updated from five to six for the added mapper. That initial packaging run was stopped; a corrected attempt was interrupted by automatic approval cancellation and produced no final TRX. The completed final retry supplies the available-package evidence above.
- Environment: existing SDK 10.0.401 and runtimes 8.0.31/9.0.20/10.0.12, workspace-local caches, one-processor builds. PowerShell and clang are absent; the final available-package command excludes 49 PowerShell-dependent cases. No warning, assertion, dependency, prerequisite, credential, or security setting was weakened.
- Boundary: issue #26 only, then draft PR/human review. No user-computer access, other issue, merge, release, tag push, package publication, or workflow dispatch. Ordinary exact-head CI evidence belongs in the draft PR.
- Base: isolated cloud worktree from develop a68bb3e97d6697da9ef06b7ac65e07ea7c6c42ed after PR #38 merged. Issue #25 had no blocked-by dependencies, sub-issues, or competing PRs. User-authorized exec:agent and ready:agent labels were added and read back. AgentStack CLI is absent; connector fallback is used without issue comments or claim writes.
- Red-first: the completed initial 19-case matrix on unchanged production produced 17 failures and two passing None/acyclic controls, zero skips. The twentieth mixed declared/helper regression then failed the first candidate's over-tracking assertion before correction. A separate Basic sample build failed with missing tracker/path/method-name CS0103 errors. A direct-root cleanup assertion also failed before finally handling was unified.
- Implementation: distinct recursive vertices and context carriers; backward helper context propagation; preserved mixed declared/helper components; one tracker at the public recursive entry; no Enter/Exit for acyclic bridge objects; complete collection-root and nested paths. No public API or specification change.
- Verified local generator/runtime evidence: Release solution build has zero warnings/errors. All 696 generator tests pass, including 20 new cases; runtime five and integration one pass, zero failures/skips. All three source sample smoke runs pass. Generated bridge paths, active-path boundaries, and tracker allocation counts are asserted and executed. Available packaging suite: 220 passed, two infrastructure failures, zero skips, including all 12 framework/language combinations, clean-package samples, package/API checks, usage validation, and benchmark smoke. Actual netstandard2.0 package-generated source was inspected and confirms the forwarding/tracking boundary and complete path. Independent review found no code or coverage blocker; CRLF-aware diff validation passes. Ordinary exact-head CI belongs in the draft PR.
- Package scope: normal clean-package samples, the 12 framework/language consumers, and trimmed/Native AOT package consumers now execute the wrapped object/array/list cycle and shared-sibling example.
- Environment: existing workspace SDK 10.0.401 and runtimes 8.0.31/9.0.20/10.0.12, workspace NuGet caches, and one-processor builds. PowerShell and clang are absent; 49 PowerShell-dependent cases are not run locally. Trimming and Native AOT fail at ILLink ComputeManagedAssemblies task-host creation (MSB4216 / Unix-domain SocketException 13), before publish behavior is established. No local trimming/AOT success is claimed. No dependency, warning, assertion, credential, or security setting was weakened.
- Boundary: issue #25 only, then draft PR/human review. No user-computer access, other issue, merge, release, tag push, package publication, or workflow dispatch.
- Base: isolated cloud worktree from develop 1583ddbcff4e14e677d92acba86d222567196824 after PR #37 merged. Issue #24 is open with no dependencies/sub-issues or competing PR. The user authorized one next issue; exec:agent and ready:agent were added and read back. AgentStack CLI is absent; authorized connector fallback is used without issue comments or claim writes.
- Red-first: all 24 new tests compile against unchanged production with 23 failures and one unattributed-part control, zero skips. The Basic sample separately fails with duplicate-source CS8785 and missing implementations for all three mappers (CS8795).
- Implementation: filter semantic discovery to the declaration that owns the merged symbol's first LiteMapper marker. Other attributed parts still contribute members and registrations, while duplicate markers produce one existing LITEMAPPER0013. The Basic sample and clean-package sample checks cover an unrelated attribute on another partial part; usage/changelog are synchronized.
- Candidate refinement: an initial ForAttributeWithMetadataName candidate recreated candidate identity in two existing caching tests. The narrower marker-owner filter preserves the existing syntax-provider pipeline and passes all 23 existing incremental-isolation tests without changing them. The new harness counts active tracked outputs separately from Removed entries; semantic planning may re-run once per mapper while unchanged emissions remain cached.
- Final local validation: Release solution build has zero warnings/errors. All 676 generator tests pass, including 24 new cases; runtime five and integration one pass, zero failures/skips. All three source sample smoke runs pass. 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. Generated Basic source was inspected: exactly one file per mapper, with the existing mapping body intact; the rebuilt sample passed again. Independent read-only review found no blocker; CRLF-aware diff validation passes. Exact-head ordinary CI belongs in the draft PR.
- Environment: the fresh cloud workspace lacked .NET. With user approval, official Microsoft SDK 10.0.401 and runtimes 8.0.31/9.0.20 were downloaded, verified against published SHA-512 hashes, and installed in the task workspace; runtime 10.0.12 is included. An initial restore failed to write the default read-only NuGet cache; configuring workspace-local cache paths allowed explicit solution restore to complete. PowerShell and clang are absent; 49 PowerShell-dependent cases were not run locally. Trimming and Native AOT fail at ILLink ComputeManagedAssemblies task-host creation (MSB4216 / Unix-domain SocketException 13), before publish behavior is established. No local trimming/AOT success is claimed and no assertion, dependency, warning, or prerequisite was weakened. No security or credential settings changed.
- Boundary: issue #24 only, then draft PR/human review. No user-computer access, merge, release, tag push, package publication, or workflow dispatch.
- Base: isolated cloud worktree from develop d80ff4cc6a5e515896b6054a454a1ee2910450a5 after PR #36 merged. Issue #23 is open with no dependencies/sub-issues or competing PR. The user requested the next issue; exec:agent and ready:agent were added and read back, preserving existing labels. AgentStack CLI is absent; authorized connector fallback is used without issue comments or claim writes.
- Red-first: initial 16-case fixture produced 11 failures and five controls, zero skips, on unchanged develop. The Basic sample separately failed with LITEMAPPER1002/CS8795. A nullable-root patch extension failed with CS1061 on the initial candidate before the member-guard fix; an explicit external source-path control passed.
- Implementation: explicit omitted-Source converters select the root parameter before automatic source matching in create, constructor, and update planning. Patch guards exclude root parameters. Basic and clean-package consumers exercise a root converter with no same-name source member; usage and changelog are synchronized.
- Final local validation: Release solution build has zero warnings/errors. All 652 generator tests pass, including 18 new cases; runtime five and integration one pass, zero failures/skips. All three source sample smoke runs pass. Available packaging suite: 220 passed, two infrastructure failures, zero skips, including all 12 framework/language combinations, clean package-backed samples, package/API checks, usage validation, and benchmark smoke. Generated Basic source was inspected and its root converter is invoked once with the root parameter. Independent read-only review found no scoped correctness blocker; CRLF-aware diff and consumer-skill validation pass. Exact-head ordinary CI belongs in the draft PR.
- Environment limits: PowerShell and clang are unavailable; 49 PowerShell-dependent cases were not run locally. Trimming and Native AOT fail at ILLink ComputeManagedAssemblies task-host creation (MSB4216 / Unix-domain SocketException 13), before publish behavior is established. No assertion, dependency, warning, or prerequisite was weakened. An earlier packaging attempt was interrupted by a tool approval cancellation and produced no final TRX; the completed retry above is the local evidence. No local trimming/AOT success is claimed.
- Boundary: issue #23 only, then human review. No user-computer access, merge, release, tag push, package publication, workflow dispatch, installation, or credential change.
- Base: isolated cloud worktree from develop d541affbe7ca172a47ec72affeb8587955fdf6f7 after PR #35 merged. The user explicitly requested the next issue; exec:agent and ready:agent were added and read back. GitHub dependency and sub-issue reads returned empty. AgentStack CLI is absent; authorized GitHub fallback is used without issue comments or claim writes.
- Red-first: the original 16-case fixture produced 14 failures and two passing static controls before production edits. The completed 20-case fixture on unchanged develop produced 18 failures and two controls, zero skips. The Basic sample independently failed CS0120 at an instance converter in a generated static helper.
- Implementation: separate instance-dependency metadata with callerward helper propagation, selective instance helper emission, and static-context mapping/default eligibility. No generated mutable mapper state or public API changes. Basic sample and clean-package consumer now verify different prefixes on separate instances through nested and collection mappings.
- Final local validation: all 634 generator tests pass, including 20 new cases, plus five runtime and one integration test, zero failures/skips. Release solution build has zero warnings/errors; all three source sample smoke runs pass. The available packaging suite records 220 passes and two infrastructure failures, zero skips, including all 12 framework/language combinations, clean package-backed samples, package/API checks, usage validation, and benchmark smoke. Generated stateful-helper source was inspected and a fresh package-backed Basic sample rebuilt/reran cleanly. Independent review found no correctness blocker; CRLF-aware diff and consumer-skill validation pass. Exact-head ordinary CI belongs in the draft PR.
- Environment limits: PowerShell and clang are unavailable; 49 PowerShell-dependent cases were not run locally. The initial parallel package attempt failed 26 cases at MSBuild child-node Unix-domain socket creation, with 196 passes and zero skips. DOTNET_PROCESSOR_COUNT=1 avoids worker-node sockets and recovered ordinary packaging/consumers. The remaining trimming and Native AOT failures occur at ILLink ComputeManagedAssemblies task-host creation (MSB4216, SocketException 13), before establishing publish behavior. No local trimming/AOT success is claimed, and no assertion, dependency, or prerequisite is weakened.
- Boundary: stop for human review after the draft PR and exact-head CI; no user-computer access, other issue, merge, release, tag push, package publication, workflow dispatch, tool installation, or credential change.
- Base: clean cloud checkout of develop at 36dcaf555330dd9f72ea2a886ced66a02ae0b325. User approved readiness labels, the scoped fix and one draft PR against develop; the labels were added and read back. AgentStack CLI is absent; supported GitHub fallback is used. No issue comments or claim writes are made.
- Red-first evidence: 44 new executable cases produced 38 failures and six controls, zero skips, on unchanged production. Input compilation is validated before generation. Runtime probes cover policy differences, nullable shapes, constructor context, and actual cycle exception metadata.
- Implementation: per-entry planning with semantic-aware deterministic allocation and emitted-helper deduplication; entry-sensitive constructor/declared resolution is isolated; tracked calls forward initiating method metadata without enlarging tracker state. The misleading existing allocation test now checks policy isolation rather than claiming an informational diagnostic rejects a mapping.
- Final generator evidence: 614 tests passed, zero failed/skipped, including 46 new isolation cases. The initial 44-case matrix reproduced 38 failures with six controls; four tracker-state/collision checks then failed against the field-based prototype and pass with allocation-neutral argument forwarding. Independent review found no correctness blocker. The solution baseline built with zero warnings/errors; exact-head full-platform CI remains pending in the draft PR.
- Local environment: Linux SDK 10.0.401, runtimes 8.0.31/9.0.20/10.0.12. Restore/build use one MSBuild node because the default parallel restore exited early. A full-suite attempt was interrupted by a tool approval cancellation after 604 generator and five runtime passes; five PowerShell-dependent tests failed because pwsh is absent. The remaining package/consumer run on the preceding candidate is recorded separately from final-head CI. PowerShell and clang are absent; final local workflow-script and Native AOT success are not claimed.
- Boundaries: no fixes for #22/#25/#26, user-PC access, merge, release, tag push, package publication, workflow dispatch, credential persistence or security change. Stop for human review after this PR.
- Scope: immediate native exit checks across multiline PowerShell release validation and each package push; preserve issue #19's dry-run gates, production approval, and artifact handoff.
- Red-first evidence: 36 new executable cases produced 26 failures and 10 passes with zero skips. All eight successful controls passed; existing AOT execution checks passed both injected failures. Native commands and consumer executables were replaced by local fixtures.
- Focused evidence: 213/213 pass with zero skips (36 new, 154 issue #19, 19 release-quality, four process tests). Release solution build has zero warnings/errors. Independent read-only review found no correctness blocker.
- Full local evidence: 844 passed, zero failed, one skipped out of 845 discovered tests (568 generator, five runtime, one integration, 270 packaging passes). NativeAotConsumerPublishesAndRunsWithoutLiteMapperWarnings is inconclusive because the platform linker is unavailable. Trimming and other packaging/consumer validations passed; local Native AOT success is not claimed.
- CI fixture follow-up: a clean Linux solution build exposed that the native fixture project defaulted to Debug because it was absent from both solution formats. Registering it in both solutions regenerates the Release apphost after cleaning its output. The solution rebuild has zero warnings/errors and the expanded focused/repository/documentation set passes 220/220 with zero skips.
- Review handoff: draft PR targets develop; exact-head ordinary PR CI evidence belongs in the PR. Logs and TRX files are retained in the task workspace and project TestResults directories. No live release validation or NuGet publication is claimed.
- Operations: checkout is based on c79b1a2. Approved restore recovered sandbox NU1301 socket-access failures. AgentStack doctor passed and issue #20 has no dependencies; explicit user authorization supplies scope despite draft/human metadata. Tracker comments/claim writes are omitted under the no-issue-comment instruction; progress and verification belong in the PR.
- Boundaries: no real NuGet push, release, tag push, workflow dispatch, merge, security change, credential persistence, or unrelated issue work.
- Scope: prevent tag-selected manual rehearsals from entering the NuGet publish job. The production change requires a push event for automatic tag publishing; manual main/release//hotfix/ publishing still requires publish=true and dry_run=false. Production approval, dependencies, and all package/artifact validations are preserved.
- Red-first evidence: 154 new source-based condition/dependency/mock cases ran before the YAML change: 20 failed, 134 passed, zero skipped. Both tag-selected dry runs recorded three mocked push calls, including publish=false. Non-dry-run tag dispatches already skipped pack, despite their unsafe raw publish condition.
- Focused evidence: 154 new cases plus 19 existing release-quality cases pass (173 total, zero skipped). Release solution build passes with zero warnings/errors. YAML parsing and whitespace validation allowing the repository's existing CRLF endings pass. Independent read-only review found no acceptance gap.
- Full local evidence: the solution run recorded 806 passes, two sample/usage failures caused by stale NuGet assets pointing to the sandbox user's cache (NETSDK1064 for System.IO.Hashing 10.0.12), and one Native AOT prerequisite skip. Regenerating assets in the working environment and rebuilding recovered both failures; the affected tests plus all focused release tests then passed 175/175 with zero skips. Across the full run and targeted recovery, all 808 executed test cases have passing evidence; this does not claim a single all-green full-suite invocation.
- Local limitation: MSVC C++ tooling is unavailable, so NativeAotConsumerPublishesAndRunsWithoutLiteMapperWarnings is inconclusive. Trimming and the other package/consumer/API/benchmark validations passed in the full run. The initial sandbox restore failed with NU1301 SSL authentication errors; the approved unrestricted restore succeeded.
- Review handoff: draft PR targets develop. Exact-head ordinary PR CI results are recorded in the PR and issue #19. Local evidence is under artifacts/validation/issue-19/{red,focused,full,recovery}. The condition evaluator covers the workflow's current expression subset and needs graph, not live GitHub production-environment approval behavior.
- Operational note: installed AgentStack expects .agent-stack/active-tracker.json while this repository uses .agent-stack/modules/protocol/active-tracker.json; repository-authorized GitHub CLI fallback recorded the plan and significant checkpoints. GITHUB_PrimordialCode authentication remained process-local.
- Boundaries: no workflow dispatch, real NuGet push, release, tag push, merge, or security-setting change. Issue #19 remains open for human review; no unrelated issue or product contract changed.
- Scope: canonical CI/release hardening for bare stable/prerelease SemVer tags, exact six-artifact handoff, package/API/consumer/AOT validation, explicit MSTest discovery, analyzer-only generator packaging, and release documentation.
- Workflow seam:
.github/workflows/ci.ymlvalidates the exact tag/GitVersion version before one pack, verifies checksums/provenance and package contents, uploads the validated packages withactions/upload-artifact@v6, and publishes only from a protected tag or approved production dispatch afteractions/download-artifact@v7. Dry-run follows the same validation and handoff path and never callsdotnet nuget push. - Local helper seam:
publish-nuget.ps1accepts the same stable/prerelease versioned artifacts, requires exactly three .nupkg plus three .snupkg, and does not suppress duplicate push failures. - Current evidence (2026-09-17): ReleaseQualityContractTests 17/17; Milestone 14 24 passed with one expected Windows Native AOT prerequisite skip; the previous full solution run passed 649 with the same one expected skip; six local packages packed and content-checked; Basic, Collections, and ASP.NET Core smoke samples passed sequentially. The Windows package consumer restore and no-restore trimmed/AOT publishes use an explicit
win-x64runtime after the first remote run exposed NETSDK1047; Native AOT validation now discovers exactly one executable recursively after the follow-up exposed a hard-coded output path. Artifact transfer now uses Node 24-compatible action releases.dotnet tool restore, package-levelapicompat, and the BenchmarkDotNet generated-project smoke were blocked by local NuGet SSL access (zero benchmark cases executed); the corrected remote rerun and NuGet publication are not yet claimed.
Latest completed work: GitHub issue #7 strict source-member completeness was merged into develop via PR #10 at a8ac8bd, and closed. AgentStack issue #7 is done and its claim is released. Issue #6 existing-target update atomicity was previously merged into develop via PR #9 and closed. Issue #5 declaration, registration, constructor, and accessibility coverage was also previously merged into develop and closed.
- Current scope: issue #7 strict source-member completeness adoption evidence and synchronized documentation is complete; remote CI remains unexecuted.
- Current state: issue #7 was approved, merged as PR #10 at
a8ac8bd, closed in GitHub, markeddonein AgentStack, and its claim was released. The existingUnmappedSourceMembersAPI andLITEMAPPER1003behavior provide mapper, method, assembly, severity, and editorconfig support. - Completed milestones: Milestone 1; Milestone 2; Milestone 3; Milestone 4; Milestone 5; Milestone 6; Milestone 7; Milestone 8; Milestone 9; Milestone 10; Milestone 11; Milestone 12; Milestone 13; Milestone 14; Milestone 15; Milestone 16.
- Current work: issue #7 implementation, validation, review, merge, and closure are complete.
- Evidence:
UnmappedDiagnosticSeverityTestsnow covers strict source completeness at mapper, method, and assembly scopes, while existing source-policy and editorconfig rows cover Error, Warning, Info, Ignore, and severity overrides without consumer DTO tests. - Focused validation: the strict-source generator subset passes 27/27;
Milestone16UsageDocumentationTestspasses 1/1; consumer skill validation passes;git diff --checkpasses. - Completed prior issue evidence: issue #5 focused tests passed 86/86; generator tests passed 558/558 on Roslyn 4.8.0, 4.14.0, and 5.9.0; solution build passed with 0 warnings/errors; solution tests passed 624/625 with one Native AOT linker-prerequisite skip.
- Skipped validation: one Windows Native AOT packaging case skipped because linker prerequisites are unavailable. Remote CI was not executed.
- Blockers: none for the approved issue #7 scope; remote CI remains unexecuted.
- Known issues: exact generated helper names remain intentionally non-public and must not be used as consumer dependencies.
- Next permitted action: select the next eligible GitHub issue through AgentStack. Issue #7 is complete.
- AgentStack claim and implementation plan are recorded for issue #7 on
codex/issue-7-strict-source-completeness. - Red-first evidence: mapper, method, and assembly strict-source configuration cases were added to the generator suite; the usage-guide contract initially failed because no first-class strict-source section existed.
- Implementation: synchronized the usage guide, consumer skill, and mapping-rules reference to explain opt-in
UnmappedSourceMembers,LITEMAPPER1003, staged severities,IgnoreSource, theIgnoredefault rationale, and the independent target-completeness boundary. No public API or production generator behavior changed. - Validation: strict-source generator coverage passes 27/27; full generator suite passes 564/564; solution build passes with 0 warnings/errors; solution tests pass 629 with 1 expected Windows Native AOT linker-prerequisite skip; usage documentation passes 1/1; skill validation and CRLF-aware diff check pass. PR #10 is merged and issue #7 is closed.
- AgentStack claim and execution plan are recorded for issue #6 on
codex/issue-6-existing-target-atomicity. - Current behavior: existing-target assignments are generated in deterministic target-member name order. Each getter/converter expression is evaluated immediately before its assignment, so a later failure can leave earlier destination members changed.
- Normative gap: sections 9.4, 16.1, 16.3, 16.4, and 19.7 require stable evaluation/single-evaluation and update semantics but do not choose transaction-like staging versus sequential commits.
- Recommendation: Option A, document non-transactional updates with deterministic target-member evaluation and assignment order, preserving the current direct generated behavior. This does not make setter side effects transactional.
- Status: Option A approved by the user and incorporated into
SPECIFICATION.md; implementation, local validation, review, merge, and issue closure are complete through PR #9.
- AgentStack claim and execution plan are recorded for issue #5 on
codex/issue-5-declaration-coverage. - Red-first evidence: closed constructed generic registration cases first failed with
LITEMAPPER0010under the previous generic-type guard; after the guard was limited to unbound generic types, four closed cases and two unbound rejection cases pass at class and assembly scope. - Fixture evidence: valid
protected,in,out, and extra-parameter declarations now assert clean input compilation apart from deliberate partial declarations, preserve a healthy generated mapping, and verify diagnostic ID, severity, message, and source location. Constructor and missing-registration diagnostics have the same contract checks. - Decision: closed constructed static external containers such as
typeof(External<int>)are valid when they expose usable non-generic methods after substitution. Unbound generic containers and generic methods remain rejected. - Validation: focused issue #5 coverage passes 86/86; the full generator suite passes 558/558 on each Roslyn 4.8.0, 4.14.0, and 5.9.0 host; the solution build has zero warnings/errors.
- Integration: the complete solution test run passes 624/625 with one expected Windows Native AOT linker-prerequisite skip; no test failures or other skips occurred.
- Decision record:
DECISIONS.mdPENDING-0008. The specification, usage guide, changelog, skill, and mapping rules reflect the approved behavior. Implementation is ready for review.
- Decision: ordinary unmapped target members remain
Errorby default;LITEMAPPER1001remains configurable for explicit mapper/method policy and standard compiler severity configuration. - Safety boundary: ordinary suppression or downgrade does not suppress generation and is not proof of complete mapping. Required, non-nullable, inaccessible, invalid, and otherwise mandatory target obligations remain hard non-configurable errors.
IgnoreTargetandUseTargetDefaultretain their existing validation. - CI guidance: projects requiring mandatory unmapped-target coverage should treat
LITEMAPPER1001as an error in CI and audit or avoid project-wide suppression. LiteMapper cannot prevent an intentional consumer editorconfig override while the diagnostic remains configurable. - Scope: documentation and skill synchronization plus one generator regression; no production-source, public API, diagnostic, or semantic behavior changes.
- Validation: contradiction search found no old warning-default or non-configurable-
LITEMAPPER1001claims; scopedgit diff --checkpassed;python C:/Users/aless/.codex/skills/.system/skill-creator/scripts/quick_validate.py skills/mammoth-litemapperpassed;dotnet test tests\Mammoth.LiteMapper.Packaging.Tests\Mammoth.LiteMapper.Packaging.Tests.csproj --no-restore --filter Milestone16UsageDocumentationTestspassed 1/1. No production-source, public API, diagnostic, or semantic behavior changes are part of this scope. Committed as5ea413f, merged intodevelop, pushed, and issue #4 closed.
- Red-first evidence: the generator regression fixture proves an ordinary unmapped target member produces
LITEMAPPER1001at Error severity by default and namesTarget member 'Extra'in the message. - Control evidence: an explicit mapper-level
UnmappedMemberPolicy.Ignoresuppresses the diagnostic and still produces a valid implementation. - Compatibility: explicit Warning, Info, Error, and Ignore policies remain supported and all reported target/source diagnostics name the exact member;
IgnoreTargetandUseTargetDefaultremain explicit target-member opt-outs; unmapped source members remain ignored by default. - Documentation:
SPECIFICATION.md,docs/USAGE.md,CHANGELOG.md,skills/mammoth-litemapper/SKILL.md, andskills/mammoth-litemapper/references/mapping-rules.mdare synchronized.DEC-0038records the default rationale andDEC-0039records the member-specific message contract. - Test boundary: library generator regressions are required; consumers do not need to write a mapping test for every DTO solely because the default diagnostic severity changed.
- Current state: delegated implementation and documentation checks passed; integrated validation passed; user review remains.
- Red-first evidence:
inlining-red-valid.trxfailed 1/1 because the generated direct mapping lackedMethodImplOptions.AggressiveInlining. The first green attempt exposed only a stale snapshot and an over-qualified test assertion; neither was treated as an implementation failure. - Fixture recovery: a nullable-path exclusion was first written with an invalid verbatim-string quote, then with
MapPropertyon the mapper type instead of the method, and finally asserted a separateifalthough create mappings emitsource.Child?.Value ?? throw. These test-fixture failures were corrected without production changes. The first retry also hit blocked NuGet signature access; the approved restore succeeded. - Focused evidence:
inlining-final-focused.trxpasses 15/15 across the five-test optimization fixture and relevant Milestone 4/13 cases.inlining-capability-red.trxfirst failed withCS0122;inlining-capability-green.trxpasses 5/5 after exact public-symbol validation. The strengthened nullable-path control passes 5/5 ininlining-precondition-green-4.trx. The generated compilation has zero errors, and all stated exclusions omit the hint. - Host matrix:
inline-final3-4.8.0.trx,inline-final3-4.14.0.trx, andinline-final3-5.9.0.trxeach pass 540/540 with no skips. Roslyn 4.8.0 was restored before integration. - Windows integration: the current-revision sandboxed run
inline-final3-solution.trxfailed 11 packaging tests because child-process NuGet restores were blocked; generator 540/540, runtime 5/5, and integration 1/1 passed in that attempt. It is not acceptance evidence. The unrestricted reruninline-final3-solution-escalated.trxpasses 607 tests: 540 generator, 61 packaging, 5 runtime, and 1 integration, with one expected Windows Native AOT linker-prerequisite skip. The packaging project includes all 12 consumer combinations. - Linux AOT: the disposable SDK 10 container installed Clang/zlib and ran the required test with
LITEMAPPER_REQUIRE_NATIVE_AOT=1; 1 passed, 0 failed/skipped in 31 seconds. - Performance:
artifacts/disassembly/generated-inline-final2records Manual 4.307 ns/73 bytes and LiteMapper 4.465 ns/70 bytes; both allocate 40 bytes. The generated source underartifacts/generated-inline-final2contains the capability-qualified attribute. The earlier unoptimized paired evidence was Manual 4.1690 ns versus LiteMapper 4.8219 ns with a wrapper jump plus separate mapping method. - Skill alignment:
skill-creator/scripts/quick_validate.py skills/mammoth-litemapperpasses. The skill audit found no consumer-contract mismatch, sodocs/USAGE.md,skills/mammoth-litemapper/SKILL.md, and its mapping rules remain unchanged and contain no implementation-status links. A final independent implementation review accepted the bounded predicate, capability fallback, and regression coverage. - Diff hygiene: the task-owned scoped
git diff --checkpasses. The repository-wide check reports only pre-existing trailing whitespace in the preserved user-ownedAGENTS.mdlines 140 and 152-155; that file was not changed by this work.
- Red-first final regressions covered patch-guarded declared mappings, required nullable converter inputs, configured nested Throw ordering, direct nullable-value converters, exact/fallback default pairs, required nested construction, and generated identifier collisions. The final focused set passes 10 tests.
- Roslyn 4.8.0, 4.14.0, and 5.9.0 each pass 535 generator tests with zero failures/skips. Default 4.8.0 was restored afterward.
- Final Windows solution: 602 passed, zero failed, one skipped (535 generator, 5 runtime, 1 integration, 61 packaging). The skip is the Windows Native AOT linker-prerequisite case. Packaging includes all 12 consumer combinations.
- Required isolated Linux Native AOT: 1 passed, zero failed/skipped. Evidence:
artifacts/validation/final-20260909/final-accepted-native-aot.trx. - Final back-to-back affinity-pinned Medium baseline/candidate comparison passes five scenarios. Manual changed from 4.2054 ns to 4.1690 ns (-0.87%); LiteMapper changed from 4.8502 ns to 4.8219 ns (-0.58%); allocation remained 40 bytes. Normalized evidence is
artifacts/performance/controlled-20260909/affinity1-final-pair-baseline.normalized.jsonandaffinity1-final-pair-candidate.normalized.json. The earlier non-affinity comparison remains invalid historical evidence. A first final-source candidate executed zero benchmarks after a sandbox proxy 403, and the preceding isolated candidate required review because Mapster drifted +14.95%; neither is acceptance evidence. - Skill validation, the final scoped diff/whitespace checks, and the read-only documentation contradiction audit pass after synchronization. Remote CI was not run. No commit, push, or publication occurred.
- Windows final Roslyn4.14/5.9:429 passes each, zero failures/skips (TRX13:16:10/13:17:15). First4.14 command was sandbox-blocked at NuGet, escalated retry succeeded. Default4.8 restored. Full Windows482 passes, zero failures, one missing-platform-linker AOT skip:429 generator,5 runtime,1 integration,47 packaging. Packaging TRX13:18:31; generator13:18:11. No Source Link advisory warning reported.
- Linux isolated SDK10.0.400 with runtimes8.0.31/9.0.20/10.0.11: each Roslyn host429 passes (32s/31s/29s), no skips. Full solution first run482 passes/one failure/zero skips. All12 consumer combinations and required AOT passed. Failure was CleanPackageSampleTests rejecting a successful English
0 Warning(s)summary. - Added eight warning-check regressions: initial two failures/six controls (TRX13:28:43), then eight passes (13:29:12) after excluding only exact zero-count summary lines from warning-text detection. Real LiteMapper warnings, IL2 warnings and nonzero summaries remain rejected on stdout/stderr. Full Linux packaging retry56 passes, zero failures/skips,3m7s, including consumers/AOT/samples and security tests. Generator/runtime code unchanged by helper fix; their prior runs remain valid. Windows full482 predates these eight helper tests; Windows focused8 is current, not a claimed490-test full rerun.
- Evidence under artifacts/validation/linux-20260909-cr016: three host TRX, tests/*/TestResults full-run TRX, retry/packaging.trx, SDK/runtime inventory, Dockerfile and execution scripts. Local image sha256:350bd9dd4bd7f0b8aa55c5bc1cb1fe91bc350085a023d07993ef1dab4136a91a. Source copied into container; host worktree preserved. All sessions terminal. Remote CI remains unexecuted; no publish/push/commit.
- USAGE now includes consumer AOT prerequisites/publish example and supported OS context; skill reflects verified local Linux matrix. Skill validation and scoped diff checks pass. CR-017 read-only implementation/regression plan is recorded in CONFORMANCE_REVIEW; no new normative blocker. Task-budget checkpoint, goal incomplete.
- Registration29 cases began16 failures/13 controls (TRX13:08:02). Removed missing-name special case; require usable ordinary static supported methods and non-generic containers; validate accessibility from the mapper, including assembly registrations. Global malformed assembly configuration remains fatal. Focused97 passed (13:08:51); full427 passed on4.8/4.14/5.9 (13:10:01/13:11:02/13:11:57).
- Review caught over-rejection introduced by the new ref-return check. Two positive tests failed with0010 (13:13:16); removed restriction. Final full default generator429 passes, zero failures/skips,34s (13:13:34). A returned ref/ref-readonly int3 copies to target3, remaining3 after source becomes7. Newer hosts/full solution/Linux have not run after this correction.
- SourceLinkDependencySecurityTests began three failures (13:09:10), proving every shipping project resolved affected Build.Tasks.Git10.0.300. Updated global SourceLink.GitHub pin to10.0.303; restored graph confirms Build.Tasks.Git10.0.303. Sandbox restore was blocked by NuGet allowlist; escalated restore succeeded without advisory warning. Three regression cases now pass (13:09:53). Existing-source tests validate advisory ranges, not an exact pin.
- USAGE and skill reference include usable/unusable registration examples and ref-return value copying. No normative decision changed. TokenSave remains unavailable; direct inspection used. One patch context mismatch made no changes and was corrected. All agents handed back; no live sessions. Task-budget checkpoint; full goal remains active, no commit/push/publication.
- Windows Roslyn4.14/5.9 each398 passes, zero failures/skips; default4.8 restored. Full Windows retry448 passes (398 generator,5 runtime,1 integration,44 packaging), zero failures, one Native AOT missing-platform-linker skip. Includes all12 consumer combinations. Packaging TRX12:55:54; generator12:55:25. First sandbox attempt435 passes/14 NuGet failures/zero skips is retained below.
- Isolated Linux SDK10 container:398 passes on each Roslyn4.8/4.14/5.9 (29s/28s/28s), restored4.8, required Native AOT one pass/zero failures/skips (14s). Evidence: artifacts/validation/linux-20260909-cr015/{roslyn-4.8.0.trx,roslyn-4.14.0.trx,roslyn-5.9.0.trx,native-aot.trx,dotnet-info.txt}. This closes local compiler-host evidence, not Linux consumer combinations or remote CI. Source stayed unchanged during validation; no live sessions remain.
- NU1902 was reported on Windows/Linux: repository-wide Microsoft.SourceLink.GitHub10.0.300 brings Microsoft.Build.Tasks.Git10.0.300. Microsoft advisory identifies10.0.303 as patched. NuGet lists SourceLink.GitHub10.0.303; dependency pin has not yet changed. Verify its resolved dependency and update coherently, preserving audit behavior. A direct NuGet browser open failed; search confirmed the package listing.
- Read-only22.11–22.16 audit added unexecuted nested-update and coverage findings to CONFORMANCE_REVIEW. No new normative ambiguity or implementation repair occurred in this validation checkpoint. Usage/skill behavior remains unchanged. Preserve all user edits; no commit/push/publication/completion.
-
First current-revision Windows solution attempt failed under sandbox network restrictions:435 passed,14 failed, zero skipped. All12 consumer combinations, trimming, and Native AOT failed while accessing NuGet (NU1301/NU1900/transport errors); packaging31 passed/14 failed, generator398, runtime5, integration1 passed. Packaging TRX12:49:49 records every failure. A serialized retry outside the sandbox is running. It also reports NU1902 for Microsoft.Build.Tasks.Git10.0.300 (GHSA-23fw-v26w-5fgq); this warning requires follow-up and is not suppressed.
-
Follow-up host validation: Roslyn4.14 and5.9 each passed398 tests, zero failures/skips. TRX timestamps12:44:50 and12:48:29 respectively. The old4.14 process handle was unavailable after continuation; its completed TRX confirms398 executed/passed and zero other outcomes. Restored default4.8 successfully. Current full Windows solution validation is running; Linux host suites and required AOT remain pending.
-
Previous turn was verified progress. TokenSave transport remains closed; direct source inspection was used. No new normative ambiguity; PENDING-0002/0003/0004/0005 remain approved.
-
CR-015: first20 declaration cases produced11 failures/nine controls. Defined enum constants are now validated semantically, enclosing partial record/record-struct/interface kinds are reproduced, and fatal assembly configuration prevents implementation emission. Two added IgnoreCase=3 cast controls prove lowercase value3 maps to target Value3 over Exact defaults. Intermediate broader run55 passed/one failed because M3 test references omitted System.Runtime; complete runtime references corrected that fixture without weakening expected diagnostics. Final declaration/isolation/incremental run58 passed, zero failures/skips, TRX12:37:57.
-
Replaced duplicate-signature constructor ambiguity and illegal required get-only fixtures with legal C#. Input compilation now rejects malformed fixtures. Added runtime checks for record/record-struct/init/required/optional values and nested-private construction, plus greatest-arity/marked constructor selection, read-only fields, and accessible record-copy exclusion.
-
First constructor suite:four failures/nine passes, TRX12:38:44. Unbound ordinary read-only value fields were assigned illegally at root and nested boundaries. They now follow target-member policy without assignment; mandatory target obligations remain fatal. Follow-up33 passes/two failures exposed incorrect new test assumptions about configurable errors suppressing output. Corrected those assertions to match existing configurable-diagnostic semantics, preserving severity and compilation/runtime checks. Example: unbound readonly Value stays0 even when source Value=3; constructor-bound Value maps3.
-
Complete default Roslyn4.8 generator suite passed398 tests, zero failures/skips (45s), TRX
tests/Mammoth.LiteMapper.Generator.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_12_40_32_net10.0.trx. Full/platform reruns remain required. No processes are active; delegated work is handed back. Usage/skill explain verified declarations/constants/read-only behavior. Task budget boundary was surfaced; no commit, push, publication, or whole-project completion claim.
- User accepted PENDING-0005. Sections13.1/13.4 and diagnostic7002 were updated before tests/implementation. Seven new cases produced four failures/three controls (full edge suite:four failures/19 passes), TRX12:19:51.
- Named composite target values are compared with the OR of mapped atomic target flags. Inconsistent values emit7002 and omit the invalid implementation, while independent mappings remain generated. Source bit width and signed target values are covered. Example: Read4 OR Write8 accepts Both12 and rejects Both16; signed sbyte/long consistent composites remain valid.
- Final focused EnumContractEdgeTests23 plus CrossTypeNullableEnumTests16:39 passes, zero failures/skips (11s), TRX12:20:50. Delegated implementation is handed back. Usage/skill/decisions/plan/review reflect the approved rule. Skill validator and scoped diff checks pass. Complete current-revision host/platform validation is running; no commit/push/publication or whole-project completion claim.
- Complete Windows generator suites pass368 tests each on Roslyn4.14/5.9 (Release,45s each; TRX12:21:39/12:22:46) and restored default4.8 (full solution,37s; TRX12:24:01), zero failures/skips.
- Full Windows solution passed418 tests (368 generator, five runtime, one integration,44 packaging), zero failures, one Windows Native AOT prerequisite skip. Includes all12 consumers, package/API/reproducibility, trimming, samples/usage, and benchmark smoke. Packaging TRX
tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_12_24_22_net10.0.trx, duration4m38s. - Required isolated Linux Native AOT passed one test, zero failures/skips (26s), serially after Windows, with SDK10, clang/zlib, source/Git copy and LITEMAPPER_REQUIRE_NATIVE_AOT=1. All validation sessions are terminal; default Roslyn4.8 is restored. Skill validator/scoped diff checks passed, and USAGE contains no conformance/handoff links. Actual Linux framework/compiler matrix and remote CI evidence remain open.
- Continuing read-only22.9/22.10 audit identified CR-015 valid attribute enum casts and enclosing record/interface declaration emission as regression targets, plus invalid constructor fixtures/missing evidence. No CR-015 test or fix has been executed. Detailed requirement-to-test mapping is in CONFORMANCE_REVIEW; no new normative ambiguity is known.
-
The same unresolved PENDING-0005 condition was verified across three consecutive goal turns. The all-defects goal is marked blocked pending the user's decision; it is not complete. No further implementation or validation was performed during these blocker checks.
-
CR-014: first14 edge regressions produced12 failures/two controls. Repaired missing composite-name handling, unchecked declared overflow and alias fallback, signed flag widths, ordinary alias consistency, generated variable collisions, and repeated unknown-value source-path evaluation. Two generator-local naming collisions initially blocked compilation and were corrected. Added two policy-intersection controls for unchecked aliases300->byte44 and255->sbyte-1. Final focused enum/nullable run:32 passed, zero failures/skips, TRX11:53:21.
-
The old positive AlsoRead fixture omitted its target name, contradicting13.1/13.5. It now defines a matching target alias and verifies its runtime result; separate new tests reject missing/conflicting ordinary aliases. No assertion was weakened to hide a failure.
-
Complete default Roslyn4.8 generator suite passed361 tests, zero failures/skips (39s), TRX
tests/Mammoth.LiteMapper.Generator.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_11_54_21_net10.0.trx. This already-running validation was allowed to finish after identifying PENDING-0005. All task-owned sessions are terminal and delegated work is handed back. No further implementation or new full/platform run started after the normative stop. -
Usage/skill explain verified unchecked/flags/alias cases; control documents record PENDING-0005. The latest full solution, newer hosts, and Linux AOT validated the preceding CR-010 source; they are historical for CR-014. Required remaining commands are not waived. No commit, push, publication, or goal completion.
-
Subsequent validation completed before CR-014 source repairs: Release Roslyn4.14.0 and5.9.0 each passed345 tests, zero failures/skips (33s/32s), with generator TRX times11:37:41 and11:38:31. Default4.8 restore completed. Required isolated Linux AOT passed one test, zero failures/skips (23s). Docker image inventory was sandbox-denied; approved retry succeeded. This completes the CR-010 revision's outstanding runs.
-
Continuing section13 audit produced14 EnumContractEdgeTests cases:12 failed/two controls passed on the first run, TRX
tests/Mammoth.LiteMapper.Generator.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_11_48_58_net10.0.trx. CR-014 repair is in progress; the345/395/AOT results above do not establish validation of its subsequent edits. No new normative ambiguity was found. -
Previous goal turn completed verified repairs and validation. Current review used direct source after TokenSave transport closed; no index update was attempted.
-
Eight boxing cases initially produced seven failures/one pass; one fixture unintentionally selected another partial mapping as its converter. Isolating that mapper corrected the fixture: six implementation failures/two controls. Nullable value unwrapping now applies before boxing into explicitly non-null references. The first repair produced two duplicate-null-check compilation failures/23 passes; conversion metadata now recognizes the already checked value.
-
Fifteen nullable enum cases produced12 failures/three Error-policy controls. Enum resolution unwraps nullable types, applies the underlying strategy, and preserves nullable targets. The generated switch evaluates nullable source values once and preserves source paths. Example: From.Ready=1 maps by name to To.Ready=9; null remains null for To?, while Throw rejects it for To. Unknown99 still throws. A local variable naming collision initially blocked generator compilation and was corrected before the40-case focused run passed.
-
Independent follow-up identified oblivious boxing annotations and a generated temporary collision with the legal source parameter __nullableEnumValue. Both added regressions failed first, then passed after restricting reference mismatch checks to NotAnnotated and reserving mapping parameter names. No new normative ambiguity or specification change.
-
Complete default Roslyn4.8 generator suite:345 passed, zero failures/skips (43s), TRX
tests/Mammoth.LiteMapper.Generator.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_11_30_11_net10.0.trx. The earlier343-pass run predates these two follow-up corrections. -
Final Windows solution passed395 tests (345 generator, five runtime, one integration,44 packaging), zero failures, one Windows Native AOT prerequisite skip. Includes all12 consumer combinations, package/API/reproducibility, trimming, samples/usage, and benchmark smoke checks. Generator TRX run time11:31:36; packaging TRX
tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_11_32_01_net10.0.trx, duration4m01s. All task-owned validation sessions are terminal; default Roslyn4.8 remains selected. Current-revision Roslyn4.14/5.9 and required Linux AOT reruns remain pending, not waived. Skill validator and scoped diff checks passed. Task budget boundary was surfaced; continue from this checkpoint. -
Usage and skill now clarify nullable boxing and enum behavior with examples. No commit, push, publication, or whole-project completion claim.
- Previous goal turn was verified progress. Current work preserves the branch and dirty changes; no specification semantics changed.
- CR-013: 11 initial inheritance cases yielded eight failures/three controls; three additional ambiguity/hiding cases failed. Accessible inherited interface members, inherited source paths and ignore/default names now use one hierarchy traversal, preserving diamond deduplication and unrelated-member ambiguity. Explicit inherited converter selection uses compiler lookup and accessibility/static checks.
- A follow-up nullable base-overload control failed because merely ranking symbols differed from the actual C# call. Speculative C# invocation binding now determines the inherited callable overload. All 16 inherited cases pass, including implicit profile-inheritance exclusion and independent base/derived return-nullability behavior. Example: inherited Value=3 maps to target Value=3; protected base Parse("12") can explicitly return13.
- CR-004: 14 converter-result regressions yielded 12 failures/two disabled-policy controls. Effective numeric/operator options now govern result eligibility and emission; null checks precede conversion and invoke the converter once. All 33 result/contract cases pass; combined inheritance/converter run:49 passes, zero failures/skips. Example:2147483648L overflows under Checked and becomes int.MinValue under Unchecked.
- Full post-fix Release suites passed 320 tests each on Roslyn 5.9.0 and 4.14.0, zero failures/skips; generator TRX run times: 11:10:07 and 11:11:39. Default 4.8.0 was explicitly restored; the full solution's generator suite passed all 320 tests, including the loaded-host assertion, with TRX
tests/Mammoth.LiteMapper.Generator.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_11_13_34_net10.0.trx. - Full Windows solution passed 370 tests (320 generator, five runtime, one integration, 44 packaging), zero failures, one Windows Native AOT prerequisite skip. Includes all 12 consumer combinations, package/API/reproducibility, trimming, samples/usage, and benchmark smoke validation. Packaging TRX:
tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_11_13_57_net10.0.trx; packaging duration 4m04s. - Required Linux Native AOT passed one test, zero failures/skips (27s), after Windows validation, in the isolated SDK10 container with clang/zlib, source/Git copy, and LITEMAPPER_REQUIRE_NATIVE_AOT=1. Linux framework/compiler matrix and remote CI evidence remain open. All task-owned validation sessions are terminal; default Roslyn4.8 remains restored. Skill validation and scoped diff checks passed.
- An optional process inspection using Get-CimInstance was denied by the sandbox. Test-session polling and persisted TRX results supplied completion evidence; no process was terminated.
- Usage and skill contain concrete inherited-source/base-converter and converter-result examples. This continuation exceeded the repository task token allowance; the breach was surfaced and verified progress is checkpointed for the next continuation. The goal remains active and incomplete; no commit, push, or publication occurred.
- Read the specification and control documents on resume. The branch is now
feature/improvement_and_skill; existing changes are preserved. TokenSave recognizes this branch. Context7 still returns unrelated libraries. - Initial full Release host runs: Roslyn 4.8.0 and 4.14.0 each passed 287 tests, zero failures/skips. Roslyn 5.9.0 passed 286 and failed one declaration-diagnostic test: the symbol no longer reports IsAsync for a bodyless async partial declaration. TRX run names end in
2026-09-09_10_35_24_net10.0.trx,2026-09-09_10_41_57_net10.0.trx, and2026-09-09_10_42_48_net10.0.trxunder generator TestResults. - Three focused async declaration regressions produced two failures/one control pass, then all three passed after checking the async syntax modifier alongside IsAsync. Invalid declarations remain unimplemented and an independent healthy mapping still generates. Full post-fix Release suites passed 290 tests each, zero failures/skips, on Roslyn 5.9/4.14/4.8. TRX run times: 10:47:02, 10:48:32, 10:49:08 respectively. Explicit default 4.8 restore completed afterward.
- Consumer restore could use a published package instead of the package just built. Two actual restore regressions failed first, then passed after mapping Mammoth.LiteMapper* exclusively to LocalPackages. A valid alternate package can no longer satisfy a missing local package. Packaging TRX run times: 10:50:54 (two failures), 10:51:29 (two passes), zero skips.
- Final Windows
dotnet test Mammoth.LiteMapper.sln --no-restore --logger trx: 340 passed (290 generator, 5 runtime, 1 integration, 44 packaging), zero failures, one local Windows Native AOT linker-prerequisite skip. Includes all 12 consumer framework/language combinations after source mapping, package/API/reproducibility, trimming, samples/usage, and benchmark smoke checks. Generator TRX:tests/Mammoth.LiteMapper.Generator.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_10_52_02_net10.0.trx; packaging TRX:tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-09_10_52_19_net10.0.trx(3m45s). - Final Linux Native AOT: isolated SDK10 container with clang/zlib and source/Git copy,
LITEMAPPER_REQUIRE_NATIVE_AOT=1, filterNativeAotConsumerPublishesAndRunsWithoutLiteMapperWarnings: one passed, zero failures/skips (20s). This separately covers the Windows prerequisite skip; it does not prove the Linux framework/compiler matrix or remote CI. - Skill validation and scoped diff checks passed. USAGE remains consumer-only and includes the synchronous declaration/0006 example. All test/tool sessions are terminal, delegated package work is handed back, and baseline 4.8 is restored. No commit, push, publication, or completion claim. The budget conflict was surfaced; continue from this verified checkpoint without repeating the completed document reread or unchanged validation.
- Initial and focused sandbox launches were blocked by api.nuget.org policy; approved escalated runs supplied the evidence above. The required full-document reread exceeded the repository's 10,000-token task allowance; this conflict was surfaced. No product semantics or public API changed.
- Latest combined focused suite: 60 passed, zero failures/skips (17 precedence, 19 converter contracts, 24 unsupported-type diagnostics). New regressions failed before implementation: three visible-scope duplicate defaults; nine nullable converter cases plus one passing control; seven unsupported-member/ref-like update cases plus one passing handwritten Span control.
- Twelve clean-package consumer combinations passed on Windows: netstandard2.0/net8/net9/net10 with C#9/14/latest. TRX:
tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_18_05_15_net10.0.trx. These packages preceded the latest unsupported-member/ref-like update source fixes. - Test-only Roslyn version overrides, loaded-host/shipping-baseline assertions, and Windows/Linux CI matrix jobs are implemented. The focused default 4.8 host assertion passed. No complete 4.8/4.14/5.9 host run finished: sandbox network policy blocked NuGet; a delegated escalated attempt was aborted without a process handle. The final direct 4.8 attempt was also blocked by network policy, after which the user requested this pause.
- Last complete Windows suite remains historical: 301 passed, zero failures, one local Native AOT prerequisite skip. Last Linux Native AOT: one passed, zero skipped. Both precede the newest changes and require rerunning. No remote CI execution is claimed.
- Usage and skill include concrete duplicate-default and nullable-result examples; USAGE has no conformance tracking references. Previous skill validation and scoped diff checks passed. Pause-only documentation edits are checked separately; no tests are launched for the handoff.
- Full handoff, commands, ownership, open findings, and restart instructions:
docs/HANDOFF.md; copyable prompt:docs/RESUME_PROMPT.md. No commit, push, publication, scheduled continuation, or new product decision is made by this pause.
- User approved PENDING-0004 after the concrete 13-versus-23 example. Updated specification sections 11.1/11.2/28.4 before implementation. Local defaults select within the local mapping stage; explicit external selection still wins when requested.
- CR-011 nullable update repair: selected constructor arguments are retained and rendered, optional defaults are preserved, constructor-bound setters are not repeated on creation, and existing-target identity is retained. Required-member construction obligations have diagnostics/initializer coverage. Six added cases: initial two failures/one passing control, then three failing required-obligation cases; all pass after repair.
- CR-012 partial repair: local/external stages, external candidate ambiguity/default selection/registration priority, root collection converter precedence, enum elements, and jagged copying/allocation. Initial precedence tests: seven failures/six passes. A further failing root-delegation test prevented generated peer declarations from calling each other and leaking options/boxing conversions. Final precedence suite: fourteen passing cases.
- CR-004 partial repair: 2010 reference converter-result Error/Throw handling and 3003 unusable-default diagnostics. Six failing cases plus three controls now pass. Nullable value converter-result eligibility and other unsupported-type/emission coverage remain open.
- First full solution run failed: generator 256 passed/8 failed; packaging 29 passed/1 failed/1 skipped. The benchmark Dry process exceeded its existing 60-second bound. Generator failures were repaired; no assertion or timeout was weakened. Packaging TRX:
tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_17_43_09_net10.0.trx. - Final
dotnet test Mammoth.LiteMapper.sln --no-restore --logger trxsucceeded: 301 passed (265 generator, 5 runtime, 1 integration, 30 packaging), zero failures, one Windows Native AOT linker-prerequisite skip. This includes package API compatibility, deterministic package content, clean package-backed samples, trimming, usage validation, and the unchanged benchmark smoke test. Packaging TRX:tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_17_52_49_net10.0.trx(3m38s); generator TRX:tests/Mammoth.LiteMapper.Generator.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_17_52_10_net10.0.trx. - Final Linux Native AOT passed after all converter/root fixes: isolated SDK 10 container with clang/zlib prerequisites and a source/Git copy,
LITEMAPPER_REQUIRE_NATIVE_AOT=1,NativeAotConsumerPublishesAndRunsWithoutLiteMapperWarnings: 1 passed, 0 failed/skipped (31s). This separately covers the Windows prerequisite skip. All validation sessions are terminal. - Usage and skill contain the verified precedence and nullable update examples. USAGE contains no conformance-review references or implementation tracking. Skill format and scoped diff checks passed. The repository's task token budget was exceeded and surfaced; final validation is recorded and the work is checkpointed for a fresh review pass.
- Handoff: scope-wide local/external duplicate defaults, nullable value converter results, unsupported member/ref-like updates, cross-type nullability, consumer/Roslyn/language matrices, and remaining feature/performance audits. Matrix design is ready but unimplemented. Full-project completion remains unproven; no commit, push, publication, or remote CI result is claimed.
- Removed conformance-review references, regression provenance, private cycle-tracker pseudocode, and implementation/release validation tracking from
docs/USAGE.md. Retained consumer examples, supported behavior, diagnostics, and platform/package guidance. dotnet test tests/Mammoth.LiteMapper.Packaging.Tests/Mammoth.LiteMapper.Packaging.Tests.csproj --no-restore --filter Milestone16UsageDocumentationTestspassed: 1 test, 0 failures, 0 skipped, including the three source samples. Scopedgit diff --checkpassed; a targeted scan found no conformance/review/regression/audit tracking in the guide.- Broader implementation paused for newly recorded PENDING-0004. No generator implementation or specification semantics changed in this continuation. Nine drafted
ConverterContractTests.cscases remain unexecuted and must not be counted as passing or test-first evidence. Full solution/AOT/benchmark validation was not rerun for this documentation cleanup; prior evidence remains historical. - Handoff: decide PENDING-0004, then resume the open implementation and validation findings. The all-defects objective remains incomplete.
- Added
skills/mammoth-litemapper/SKILL.mdandreferences/mapping-rules.md, with README and usage installation links. - Skill format validation passed. Skills CLI local
--listdiscovered exactly one skill,mammoth-litemapper; the initial sandboxed npm request returned HTTP 403 and the approved retry succeeded. Milestone16UsageDocumentationTestspassed: 1 test, 0 failures, 0 skipped, including Basic, Collections, and ASP.NET Core smoke samples.- No library implementation or public API changed. Full solution, package/AOT, and benchmark validation were not rerun for this documentation task.
- Remote publication, remote installation, and skills.sh listing have not been performed or verified. The skill records the collection-result discrepancy and tuple verification gap rather than promising unverified behavior.
- Fixed specification section 15.3 destination construction:
IEnumerable<T>,IReadOnlyCollection<T>, andIReadOnlyList<T>produce arrays; mutable list interfaces retainList<T>. Updated usage and skill guidance for this corrected source revision. - Test-first: 13 added cases initially produced 9 expected concrete-type failures and 4 passes.
dotnet test tests/Mammoth.LiteMapper.Generator.Tests/Mammoth.LiteMapper.Generator.Tests.csproj --no-restore --filter Milestone9CollectionMappingTeststhen passed with 19 tests, 0 skipped. dotnet build Mammoth.LiteMapper.sln --no-restorepassed with 0 warnings and 0 errors. The approved unsandboxeddotnet test Mammoth.LiteMapper.sln --no-buildretry passed with 101 tests, 0 failures, and 1 Windows Native AOT prerequisite skip (80 generator, 5 runtime, 1 integration, 15 packaging passes). This includes usage/sample and benchmark dry-run validation.- Linux Native AOT:
LITEMAPPER_REQUIRE_NATIVE_AOT=1 dotnet test tests/Mammoth.LiteMapper.Packaging.Tests/Mammoth.LiteMapper.Packaging.Tests.csproj --no-restore --filter NativeAotConsumerPublishesAndRunsWithoutLiteMapperWarningspassed with 1 test, 0 skipped in a disposablemcr.microsoft.com/dotnet/sdk:10.0container with clang/zlib prerequisites and an isolated source copy including Git metadata. This separately covers the Windows prerequisite skip. - Validation recovery: initial sandboxed full-suite publish tests failed on NuGet transport/signature-metadata access. The first Linux copy omitted Git metadata and failed the Source Link warning check; the corrected copy retained it. A locked IDE index was not copied, but source/build inputs were available. Idle build servers were shut down inside the disposable container to release retained output handles; the AOT test then completed successfully. No warning suppression or weakened assertion was used.
- Scoped
git diff --checkand skill-creatorquick_validate.pypassed. Independent review found no accidental change to source classification or array-update detection. User edits toAGENTS.mdand.tokensave/config.jsonwere preserved. - Resumed analysis stopped at specification section 11.3: scalar dictionary key conversion selects an arbitrary unmarked local helper by signature. Existing
SetComparerIsPreservedAndDictionaryKeyCollisionThrowspassed (1 test, 0 skipped) while demonstrating the violation. Details are inDECISIONS.md. - Collection-interface repair is verified; the remaining whole-project review is incomplete. Converter discovery was not changed. No new public API, new milestone, commit, package publication, or remote skill publication was introduced.
- User authorized fixing all discovered defects across milestones and continuing after each implementation defect. Genuine normative ambiguities still require explicit decisions.
- Independent contract review reclassified the earlier converter finding: signature-based discovery is observable, but the specification does not define which unmarked handwritten methods qualify as explicit mappings. PENDING-0002 provides a concrete proposed rule.
- Independent allocation review found that DEC-0022's temporary buffering for unknown-count arrays is not authorized by section 23.3's allocation budget. PENDING-0003 proposes a narrow exception.
- No library code, tests, specification, usage guide, or skill changed during this audit. Existing validation evidence remains historical; no new test run was needed to establish these textual contract gaps.
- Implementation and further review stopped pending those decisions. After three consecutive checks confirmed the same unresolved blockers, the all-defects goal was marked blocked. It remains incomplete and can resume once the user decides.
- User approved PENDING-0002/PENDING-0003. Incorporated explicit handwritten mapping eligibility into section 11.3 and unknown-count array buffering into section 23.3. Implemented converter eligibility, marked element/key/value converter precedence, local default selection, and duplicate-default diagnostic
LITEMAPPER3002. Usage and skill guidance are synchronized. - Added counted/unknown-count array allocation benchmarks with manual baselines. All 12 benchmark cases completed using
--filter *CollectionAllocationBenchmarks* --job Short --warmupCount 1 --iterationCount 3 --iterationTime 100. For 0/16/1024 elements, known-count allocation was 24/88/4120 bytes and unknown-count allocation was 32/304/12544 bytes, identical to each manual baseline. This short run with concurrent validation does not establish release throughput acceptance. Reports are underBenchmarkDotNet.Artifacts/results. - CR-001 repaired: method-specific validation/planning/recursive diagnostics no longer suppress independent valid methods. Mapper-wide errors still suppress that mapper. Test-first evidence: 3 failures/1 pass before repair; all 4 regression cases pass after repair, including assertions excluding unexpected compiler errors.
- Final Windows validation: approved unrestricted
dotnet test Mammoth.LiteMapper.sln --no-restore --logger trxpassed 113 tests (92 generator, 5 runtime, 1 integration, 15 packaging), 0 failures, with 1 Native AOT skip for missing local linker prerequisites. This includes package, trimming, samples, usage, and flat benchmark smoke checks. TRX evidence is in each test project'sTestResultsdirectory, run started around 15:36 local time. - Final Linux Native AOT: isolated SDK 10 container with clang/zlib, source copy including Git metadata, and build-server reuse disabled passed
NativeAotConsumerPublishesAndRunsWithoutLiteMapperWarningswithLITEMAPPER_REQUIRE_NATIVE_AOT=1: 1 passed, 0 skipped, after the CR-001 repair. - Validation recovery: the first sandboxed solution run failed 2 publish checks on NuGet signature-metadata transport. The unrestricted retry passed. Idle MSBuild servers retaining redirected output handles were shut down so validation could finish; this revealed CR-008, a missing effective process timeout/concurrent stream-drain defect in the test harness. No assertions or warning checks were weakened.
- Skill format validation and scoped
git diff --checkpassed. User edits toAGENTS.mdand.tokensave/config.jsonremain preserved. No commit, push, package publication, or remote skill installation was performed. - Remaining: CR-002 through CR-008, validation gaps CV-001 through CV-009 (some partially addressed), and full review of the other specification feature sections. The all-defects objective and release conformance are not complete. The previous blocked goal status is historical; the user approval authorized resumed work, and the available goal tool has no resume operation.
- CR-002 fixed: validation/planning/rendering failures are caught per mapper with one sanitized
LITEMAPPER9001; the documented development option exposes the original exception. Internal stateless fault injection verifies the actual exception path. Test-first: 1 failing default-isolation case/1 passing development case, then 2 passes. - CR-007 fixed: overload ordering uses full method identity. Reversed syntax-tree order caused different generated source before repair; the regression passes afterward.
- CR-008 fixed: packaging/sample/usage tests share concurrent stream draining and a deadline that bounds process exit plus pipe closure. Child build-server reuse is disabled. Four fixture regressions failed before repair, then passed on both Windows and Linux. A reparented descendant cannot be killed through an already-exited direct parent, but inherited pipes no longer prevent the caller's timeout.
- Final Windows suite:
dotnet test Mammoth.LiteMapper.sln --no-restore --logger trxpassed 120 tests (95 generator, 5 runtime, 1 integration, 19 packaging), 0 failures, 1 Windows Native AOT linker-prerequisite skip. Packaging completed in 2m25s without manual build-server shutdown. TRX evidence for packaging:tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_15_52_11_net10.0.trx. - Final Linux checks: disposable SDK 10 container with clang/zlib and an isolated source copy passed the combined
NativeAotConsumerPublishesAndRunsWithoutLiteMapperWarnings|TestProcessTestsfilter withLITEMAPPER_REQUIRE_NATIVE_AOT=1: 5 passed, 0 skipped (36s). This includes actual Native AOT publish/execution after the generator changes. - Skill validation and scoped diff checks passed. Usage, skill, decision log, implementation plan, and conformance ledger are synchronized. No consumer API was added, no user edits were discarded, and nothing was committed or published.
- Diagnostic audit found no normative blocker and recorded concrete canonical IDs/emission scenarios in
docs/CONFORMANCE_REVIEW.md. Remaining open implementation findings: CR-003/CR-004/CR-005/CR-006. Validation gaps and unaudited feature sections remain open; the whole-project objective is incomplete.
- CR-003/CR-004 partially repaired with 16 test-first cases (16 failures before repair, 16 passes after). Corrected configuration/converter/update IDs, named registered external selection, duplicate selected-converter errors, and array-update rejection independent of source shape. Remaining canonical language/numeric/nullable/unsupported-type/default cases are explicit in the ledger.
- CR-005 repaired with 21 cases: initial severity tests yielded 6 failures/11 passes; added non-nullable/default cases yielded 2 failures/2 passes. All pass. Ordinary configurable errors retain valid implementations through compiler severity overrides, while unassigned non-nullable targets emit hard 1002 unless their real default is approved.
- Final Windows:
dotnet test Mammoth.LiteMapper.sln --no-restore --logger trxpassed 157 tests (132 generator, 5 runtime, 1 integration, 19 packaging), 0 failures, 1 Native AOT linker-prerequisite skip. Packaging TRX:tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_16_05_48_net10.0.trx; duration 2m22s. - Final Linux Native AOT: isolated SDK 10 container with clang/zlib and Git/source inputs passed the required NativeAotConsumer filter with
LITEMAPPER_REQUIRE_NATIVE_AOT=1: 1 passed, 0 skipped (33s). The Windows prerequisite skip is separately covered. - One focused sandboxed test launch encountered a blocked tooling network request; the authorized unrestricted retry passed. No diagnostic suppression or weakened validation was used to pass the suite. Skill validation and scoped diff checks passed; docs/skill/control files are synchronized, unrelated user edits preserved, nothing committed or published.
- Review continues: source inspection found explicit IgnoreTarget skips mandatory validation (CR-009), distinct from the fixed ordinary Ignore policy. No normative blocker; add failing coverage next. Whole-project conformance remains incomplete.
- CR-009 repaired: required/non-nullable target obligations survive explicit ignores, optional constructor defaults take precedence over matching source values when approved, and MapProperty conflicts with ignore/default settings report 1008 independent of attribute order. Mandatory tests: 13 failures/8 passes before repair, 21 passes afterward.
- CR-003 repaired: numeric and explicit-operator options resolve at mapper/method levels and apply to root/member/element/dictionary conversion. Canonical 2005/2006/2007 have behavior tests. Nullable numeric Error/Throw handling was added after 4 nullable regressions failed; null checks precede casts and tested getters evaluate once. Final numeric/operator suite: 13 passes, no skips. General nullable/constructor/precedence conformance remains open separately.
- CV-002 resolved: 2 actual official Roslyn harness cases verify diagnostic location/arguments and exact generated source/hint/compilation using built-in MSTest assertions.
- Final Windows:
dotnet test Mammoth.LiteMapper.sln --no-restore --logger trxpassed 193 tests (168 generator, 5 runtime, 1 integration, 19 packaging), 0 failures, with 1 local Native AOT linker-prerequisite skip. Packaging TRX:tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_16_25_12_net10.0.trx; duration 2m36s. Includes samples, usage, packaging, trimming, and benchmark smoke checks. - Final Linux: disposable SDK 10 container with clang/zlib and isolated source/Git copy passed required Native AOT with
LITEMAPPER_REQUIRE_NATIVE_AOT=1(1 pass, 0 skips, 35s), thenOfficialGeneratorTests(2 passes, 0 skips). Windows prerequisite skip is separately covered. - Usage guide and skill now include source-backed checked/unchecked examples and mandatory/default rules, with explicit boundaries for unresolved constructor/nonnumeric-nullable behavior. Skill format validation and scoped diff checks passed. User edits remain preserved; nothing committed or published.
- Continued read-only audit found CR-010 nullable-value Error/Throw/patch gaps, CR-011 constructor configuration/conversion/nullability/matching/accessibility gaps, and CR-012 inconsistent conversion stage ordering. Concrete regression intent is recorded in the ledger. No new normative ambiguity; the goal remains active and whole-project conformance is incomplete.
- Previous goal turn classified as progress: implementation, tests, docs, and verified validation changed the next action. This turn continues the same all-defects objective; no normative blocker.
- NullableValueMappingTests: initial 12 failures/1 pass, followed by 4 failing collection cases. Final 17 cases pass as part of the 212-test generator suite. Repairs cover underlying-type nullable unwrapping, patch-null skipping, qualified generated types (Guid/DateTime/Span), nullable collection elements/values, and explicit root null-to-empty handling. General cross-type nullable conversion still needs review.
- UnsupportedTypeDiagnosticTests: initial 15 failures/1 pass; final 16 passes. Canonical 1016/2008/0006 branches are covered while valid handwritten ref-like converters and synchronous overloads remain supported. Unsupported member types/ref-like updates and 2010/3003 remain open.
- IncrementalIsolationTests: initial 11 failures; final 11 passes, including final exception-boundary patch in the combined generator run. Per-mapper emitted values have structural equality and detached locations; diagnostics stay current. Population removal/filtering and exact framework API capability invalidation remain open, so CR-006/CV-001 are partial repairs.
- Combined generator suite: 212 passes, 0 failures/skips. Usage/skill/control documents synchronized and skill validation/scoped diff checks passed. A focused build had transient MSB3026 retries from concurrent test hosts; subsequent tests were coordinated and the combined run passed. No assertions were weakened.
- Task budget: this continuation exceeded the repository's 10,000-token task budget. Finish current validation and continue from this checkpoint in a fresh goal turn. Goal remains active; no commit, push, or publication.
- Final Windows:
dotnet test Mammoth.LiteMapper.sln --no-restore --logger trxpassed 237 tests (212 generator, 5 runtime, 1 integration, 19 packaging), 0 failures, with 1 Native AOT local linker-prerequisite skip. Packaging TRX:tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_16_41_45_net10.0.trx; duration 2m47s. Package, trimming, samples/usage, and benchmark smoke checks passed. - Final Linux: required
NativeAotConsumerPublishesAndRunsWithoutLiteMapperWarningsin the isolated SDK 10/clang/zlib container with source/Git copy andLITEMAPPER_REQUIRE_NATIVE_AOT=1passed 1 test, 0 skipped (42s), separately covering the Windows prerequisite skip. All process sessions finished; next action is the constructor regression/repair work above.
- Prior turn was progress. This continuation added 14 constructor cases (initial 6 failures/3 passes, plus subsequent recursive and nullable numeric failures before fixes). All pass. New-object constructor configuration, candidate isolation, parameter nullability, accessibility, IgnoreCase matching, and cycle tracking are repaired. Nullable update replacement still ignores selected parameterized constructor arguments; CR-011 remains open for that case.
- Incremental pipeline now emits per candidate, ignores successful declaration-location changes in equality, and passes exact API capability/population/fresh-driver tests. Same-file mapper insertion/removal recreates identity even in an isolated stateless Roslyn attribute-provider probe. Section 19.2's "where possible" qualification covers this demonstrated host limitation; DECISIONS records official evidence. Tests retain strict caching elsewhere and require unchanged hint/content at this boundary. No specification or runtime semantics changed.
- Initial
dotnet test Mammoth.LiteMapper.sln --no-restore --logger trxfailed five generator assertions: four unconditional host-cache expectations and one global GeneratedTrees enumeration-order expectation. The latter is stronger than per-file deterministic ordering in section 19.8. Generator TRX:tests/Mammoth.LiteMapper.Generator.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_16_57_25_net10.0.trx. A follow-up run exposed two overly narrow New-only host-state assertions; recreated candidates can be Modified or New. Final complete generator rerun after correcting these documented test assumptions: 236 passed, 0 failed/skipped (25s). Do not describe the initial full-solution command as successful. - In that full solution run, runtime 5 and integration 1 passed. Packaging passed 30 with 0 failures and 1 local Windows AOT linker-prerequisite skip (3m16s), including all-six-package content hashes, package API compatibility, clean primary-package Basic/Collections/ASP.NET Core samples, trimming, and existing benchmark smoke tests. Packaging TRX:
tests/Mammoth.LiteMapper.Packaging.Tests/TestResults/aless_SPECTRE_GRD_2026-09-08_16_58_00_net10.0.trx. - Linux Native AOT passed separately: isolated SDK 10/clang/zlib/source+Git copy, required NativeAotConsumer filter with
LITEMAPPER_REQUIRE_NATIVE_AOT=1, 1 passed/0 skipped (33s). This covers the Windows prerequisite skip; no remote CI execution is claimed. - Package fingerprint regressions: eight equal-length mutation cases failed before repair; all nine mutation/metadata cases now pass. Every payload/metadata byte is hashed; only NuGet-generated relationship IDs and core-property filenames are normalized. Actual package and symbol comparisons passed. CV-005/CV-006/CV-008 are implemented and locally validated.
- Usage guide, skill, decision log, plan, and conformance ledger synchronized. Skill validation and scoped diff checks passed. No live tool/test sessions remain; no commit/push/publication. The continuation exceeded the repository's task token budget and is checkpointed for a fresh goal turn. No normative blocker; the overall goal remains active and incomplete.
W02: the two valid handwritten registration regressions failed before repair. Registration now permits legal pointer/function-pointer and ref-like handwritten signatures without relaxing generated declaration restrictions. HandwrittenRegistrationEdgeTests, ExternalRegistrationTests and UnsupportedTypeDiagnosticTests: 58 passed, 0 failed/skipped (13:47:28 TRX).
W03: Preserve nullable-source to non-nullable-target collection mapping previously omitted required diagnostic 2002. The root collection path now checks this contract. CollectionContractEdgeTests, Milestone9CollectionMappingTests, CrossTypeNullableEnumTests and NullableValueMappingTests: 69 passed, 0 failed/skipped (13:48:12 TRX). Example: a nullable source list with Preserve cannot map to a non-nullable target list and must report 2002.
Both delegated test files have returned and their focused checks passed after root fixes. Remaining W03 source-path/update coverage and W01 selection, null/patch and recursion behavior remain open. No final-revision full platform matrix has run after these changes. All-defects goal remains active; ten packages remain the planning structure, not ten completed tasks.
Sections11.2/11.5: two new valid-input MSTest regressions failed before repair (13:53:10 TRX): equal external registrations omitted3001; assembly registration produced13 instead of class-registration23. ResolveNestedUpdater now groups local/class/assembly candidates before default/ambiguity resolution. NestedUpdateMappingTests, Milestone10ExistingTargetMappingTests and ExternalRegistrationTests:43 passed,0 failed/skipped (13:53:39 TRX). USAGE and skill now include this verified example. W01 remains partial: null/patch, writable explicit selection, overload and recursive tracker cases remain. No normative change, no final full matrix after this repair. TokenSave status failed with Transport closed; direct source inspection used.
Section11.4: ExplicitNestedUpdaterPrefersIdentitySourceOverload failed with3001 before repair (13:55:05 TRX). Explicit Use now prefers identity source compatibility before resolving remaining candidates. Example: Chosen(ChildSource, ChildTarget) adds10 to source3 and wins over Chosen(object, ChildTarget), producing13. Focused nested/update/registration suite:44 passed,0 failed/skipped (13:55:26 TRX). W01 remains partial; no final full-platform validation after this change. TokenSave remains unavailable (Transport closed), so source inspection was used.
Section14.4: explicit Use of ApplyChild on a writable child failed with2009 before repair (13:56:30 TRX). Writable reference properties now attempt explicitly selected updaters, retaining replacement by default and normal converter fallback when no updater resolves. Source Child.Value3 updates the original child to3 without changing identity. NestedUpdateMappingTests, Milestone10ExistingTargetMappingTests and Milestone6ConfigurationAndConverterTests:19 passed,0 failed/skipped (13:56:52 TRX). W01 null/patch and recursion remain open; final integrated platform checks are pending.
Section11.4: omitted Source with explicit Use incorrectly reported1001 when the root had no same-name child (red13:57:57). Matching now allows the root parameter in the update path. Intermediate edits targeted the wrong block: one compile failure CS0103 and two20-test runs with1failure/19passes (13:59:05,13:59:30); these are not acceptance evidence. Corrected focused suite:20 passed,0 failed/skipped (13:59:56 TRX). Example: root Value3 supplies ApplyChild(Source, ChildTarget), setting target.Child.Value3. W01 remains partial; full integrated validation pending.
Fixed patch skipping, LITEMAPPER2001 mismatch reporting, path-preserving Throw behavior, assignment of returning updater results, and rejection of nullable get-only replacement. Focused acceptance: 51 passed, 0 failed/skipped (14:08:04 TRX). W01 recursion/tracker and broader review remain open. No final platform matrix has run after this repair.
Fixed mixed value/reference recursion, unsupported tuple structural-boundary diagnostics, and shared tracking across mutually recursive declared mappings. Runtime cycle evidence reports MapA at B.A; positional tuple and enum/operator controls pass. Focused results: 74 passed, then 24 recursion tests passed after path correction. Full default Roslyn 4.8 generator result: 469 passed, 0 failed/skipped (w04-w05-full-roslyn-4.8.0.trx). The sandboxed W01 full-run attempt was network-blocked before its approved 452-pass rerun. One later build command used a mistyped project filename and failed before compilation; the corrected generator build passed with zero warnings/errors. Final Roslyn 4.14/5.9 and platform matrices remain pending.
W07 adds 15 scenarios, bringing the harness total to 32: three nested cases and manual/generated recursive mapping with tracking off/on at depths 1, 16, and 128. The first benchmark build exposed a fixture naming collision; qualified mapper calls repaired it. The benchmark project then built with zero warnings/errors, six scenario/policy tests passed, and a Dry run discovered and executed all 15 new scenarios. The comparison policy has failing-before-fix evidence and tests environment/scenario compatibility, allocation blocking, combined-standard-error significance, greater-than-10% review, and greater-than-20% blocking. The first sandboxed benchmark execution was blocked by NuGet policy; its authorized unrestricted retry passed.
The complete read-only specification audit found seven concrete implementation candidates and missing direct tests for five catalogue diagnostics. This paragraph records the former PENDING-0006 stop: Option A was subsequently approved, 4003/6002/6003 were removed, the null-policy tests ran, and direct 3004/5001 coverage passed. No final host/platform matrix has run after the latest generator changes.
The tag-1.0.0 and current-source Medium flat runs both completed five scenarios with 15 iterations, two launches, and ten warmups. The first current-source attempt exited zero but executed no cases because the extracted baseline introduced a duplicate project name; its output is invalid. After disabling that copied project file, the candidate run completed. The raw cross-run gate failed for four methods: Manual 47.46%, LiteMapper 30.45%, Mapperly 56.70%, and AutoMapper 41.39%; allocations remained 40 bytes for all cases. This is not accepted regression evidence because the unchanged Manual control shifted from 5.175 ns to 9.851 ns, while LiteMapper's within-run ratio improved from 1.14 times Manual to 0.86 times Manual. W08 remains incomplete and requires a controlled rerun after current repairs. Raw and normalized evidence is under artifacts/performance.
- Option A for PENDING-0006 is incorporated:
4003,6002, and6003are absent from the active specification and descriptor set. - Null-policy regressions began with 6 failures/4 passes and now pass 10/10. Generation-safety regressions began with 5 failures, the collection-parameter and qualified-converter cases each failed separately, and the current focused set passes. The final complete default-host generator run before the qualified-converter repair passed 489 tests; the qualified-converter regression then passed focused. No final multi-host or platform matrix has run for this revision.
- Confirmed repairs include nullable reference root/element policy, contextual versus explicit null-collection behavior, once-only nullable scalar paths, keyword identifiers, collection parameter binding, exact closed helper identity, and fully qualified explicit converter containers.
- Five source-path defects remain queued: nullable nested target preservation, once-only nested paths, intermediate-null collection diagnostics, explicit collection Error with nullable targets, and once-only patch paths.
- PENDING-0007 Option A is approved and incorporated into specification section 11.4. A nullable-input converter receives null from nullable path traversal. A non-null converter parameter follows
NullableMismatch, including for nullable destinations. Test-first implementation resumes. - W08 still requires a controlled stable rerun after current repairs. Documentation/skill reconciliation, serialized Roslyn 4.8/4.14/5.9 hosts, the 12-consumer matrix, full solution, packaging/trimming, and required Linux Native AOT remain pending.