Feature unit tests#3
Merged
Merged
Conversation
csharpfritz
added a commit
that referenced
this pull request
May 8, 2026
* feat(cli): compile page code-behind safely Merge the page runtime shim, emit compile-safe page code-behind into the generated app, and add explicit BWFC global usings for local project-reference scaffolds. Include focused test updates plus Wingtip run29-run31 reports documenting the benchmark progression. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat(cli): port NuGet asset extraction and EDMX conversion to native C# - Add NuGetStaticAssetExtractor service (replaces Migrate-NugetStaticAssets.ps1 shell-out) - Add EdmxToEfCoreConverter service (replaces Convert-EdmxToEfCore.ps1 shell-out) - Add MarkupReferencedMemberStubTransform and ValidatorGenericTypeTransform - Add deprecation warnings to all 4 PS1 scripts - Update CLI docs for direct adoption - CLI now has zero runtime PowerShell dependencies - 506 tests passing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: WingtipToys Run 32 benchmark output and sample improvements - Run 32 report and screenshots (25/25 tests passing) - AfterWingtipToys markup and code-behind fixes from gap analysis - Migration artifacts for WingtipToys Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat(cli): add ServerCodeBlockTransform and TemplateFieldChildComponentsTransform - ServerCodeBlockTransform (Order 510): converts <% if/else/foreach %> statement blocks to Razor @if/@foreach syntax; sanitizes raw <% %> inside @* *@ comments - TemplateFieldChildComponentsTransform (Order 620): wraps ItemStyle/HeaderStyle/ FooterStyle inside TemplateField with <ChildComponents> wrapper for BWFC compat - Both registered in Program.cs DI and TestHelpers.CreateDefaultPipeline() - 46 new tests (39 transform + 7 integration), 545 total CLI tests passing Closes Run 33 gaps #3 and #5. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: Run 33 benchmark report and gap analysis Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: WingtipToys migration Run 34 — 25/25 tests passing - L1 migration toolkit run with ServerCodeBlockTransform (Order 510) and TemplateFieldChildComponentsTransform (Order 620) — both confirmed working - Full repair cycle: 266 → 0 build errors - Implemented CartSessionStore (singleton) + CartService (scoped) with ASP.NET Core session-key architecture so cart state survives SSR→circuit transition - Added Minimal API endpoints /AddToCart and /RemoveFromCart as HTTP 302 round-trips, making cart mutations testable with Playwright NetworkIdle - Removed @page directive from AddToCart.razor to resolve ambiguous route conflict - Run report and 5 screenshots at dev-docs/migration-tests/wingtiptoys/run34/ - Bishop history.md updated with architectural learnings Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix Run 34 shim and transform gaps Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add Run 35 gap transforms Implement CLI fixes for G1, G3, G8, and G10 by normalizing display expressions, rewriting EF6 DbContext constructors, extending ServerShim compatibility, and rewriting HttpUtility calls to WebUtility. Include transform registration updates, source-copy coverage, docs, and regression tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix DisplayExpressionTransform to emit idiomatic @expr for simple expressions Simple dotted identifiers (Item.ProductName) now emit @Item.ProductName Complex expressions (method calls, operators) still emit @(expr) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix Run 37 gaps: G1 display-expr, G2 ScriptManager strip, G4 compile-surface stubs G1: Remove String.Format from DisplayExpressionTransform negative lookahead so format expressions become @(String.Format(...)) instead of leaking as raw <%#: G2: Add ScriptManagerStripTransform (Order 255) that removes asp:ScriptManager, webopt:bundlereference, and Scripts.Render PlaceHolder blocks from master pages G4: Add CompileSurfaceStubTransform that detects pages with Identity/external API references and emits build-safe stubs, preserving originals in migration-artifacts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Protect BWFC data control migrations Add explicit migration skill rules that forbid replacing BWFC data controls with manual HTML, and update the CLI migration pipeline to keep ListView, FormView, GridView, Repeater, and related templates on BWFC components. Preserve ItemType, add template Context="Item" normalization, and keep query-bound pages on SelectMethod wrappers so generated markup stays valid for BWFC controls. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix FormView SSR first-render and SessionShim string round-trip - FormView: establish CurrentItem during OnParametersSet() so SSR renders item content on first request - SessionShim: handle raw string session values consistently for cross-request persistence Discovered during WingtipToys migration benchmark Run 39. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add WingtipToys migration benchmark Run 39 25/25 acceptance tests passing. BWFC data controls preserved: - ProductList uses ListView (not manual HTML) - ProductDetails uses FormView (not manual HTML) - ShoppingCart uses GridView (not manual HTML) Total time: 38:34. Gaps found: FormView SSR first-render, SessionShim string round-trip, acceptance-path runtime wiring. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add WingtipToys migration benchmark reports Run 35-38 Run 35: 25/25 tests, 17:34 total Run 36: 25/25 tests, 10:12 total (best time) Run 37: 25/25 tests, 18:39 total Run 38: 25/25 tests, 21:22 total Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add regression tests for FormView SSR and SessionShim round-trip - FormView: verify CurrentItem set during OnParametersSet for SSR - SessionShim: verify string and object values round-trip correctly Prevents regression of bugs discovered in WingtipToys Run 39. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add runtime scaffold detection for benchmark migrations RuntimeDetector scans source for EF contexts, session usage, and Identity pages. ProgramCsEmitter generates matching Program.cs service registrations and middleware. Reusable across all Web Forms migrations, not WingtipToys-specific. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Run Wingtip benchmark 40 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: log Run 40 benchmark results and merge decisions Session: Scribe memory consolidation (2026-05-07T12:43) Decisions merged: 19 inbox files (14026 bytes total) Orchestration log: bishop-run40 entry Session log: run40-benchmark entry Bishop history: summarized from 23915 → 2833 bytes Changes: - Created .squad/decisions/decisions.md (17503 bytes, all decisions consolidated) - Created .squad/orchestration-log/2026-05-07T12-43-bishop-run40.md (2125 bytes) - Created .squad/log/2026-05-07T12-43-run40-benchmark.md (1399 bytes) - Updated .squad/agents/bishop/history.md (summarized, 2833 bytes) - Updated .squad/agents/colossus/history.md (Run 40 team update appended) - Deleted .squad/decisions/inbox/* (19 files) - No deduplication conflicts found Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix BWFC data control template emission for ListView, FormView, GridView Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: log template emission fix session Session: 2026-05-07-template-emission-fix Requested by: Bishop (via Scribe) Changes: - Merged 1 inbox decision: GridView ItemType propagation + ListView context normalization - Created orchestration log: bishop-template-emission-fix - Created session log: template-emission-fix - Updated Bishop history with transform learnings - Updated Colossus history with cross-agent notification - CLI tests: 598 → 603 passing (+5 for template emission fixes) - Commit 1bdbb1f validated in orchestration log * Add CartSessionKeyTransform for stable cart persistence Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add compile-surface quarantine for non-migratable pages Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * WingtipToys migration benchmark Run 41 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix quarantine allowlist, static files, and antiforgery gaps from Run 41 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(ai-team): Scribe memory consolidation Session: 2026-05-07-scribe-memory-consolidation Requested by: Copilot CLI Changes: - Merged 4 inbox files to decisions.md - Deleted merged inbox files - Deduplicated team decisions - Created 4 orchestration log entries (bishop-23, bishop-22, bishop-21, rogue-1) - Updated 6 agent history files with team update - No history summarization needed (all < 15KB) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * WingtipToys migration benchmark Run 42 — 25/25, 22:00, 96% first-pass Run 42 validates quarantine allowlist, static file middleware, and SSR antiforgery fixes from Run 41. Key results: - 25/25 acceptance tests passing - 96% first-pass rate (24/25, only auth redirect needed repair) - 22:00 total time (54% faster than Run 41's 47:54) - Build: 87 initial errors → 0 in single repair round - Quarantine correctly scoped to Admin, Checkout, PayPal pages only Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update copilot-instructions.md with CLI, migration toolkit, and migration rules Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add migration benchmark progression and sample complexity ordering - Reorder samples/ in project structure by increasing complexity - Mark WingtipToys as current benchmark focus - Add Migration Benchmark Progression table (WingtipToys → ContosoUniversity → DepartmentPortal) - Note that DepartmentPortal is the most sophisticated future target Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(ai-team): Merge Bishop spawn decisions and logs Session: 2026-05-08-g3-g4-fixes Requested by: Jeff Changes: - Merged inbox decision: Update Copilot migration instructions with CLI and toolkit guidance - Created orchestration log for Bishop spawn (G3/G4 CLI fixes) - Created session log for memory tracking - Cleared decisions/inbox/ * Fix G3 auth redirect scaffold and G4 validator type inference Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Run 43: 25/25 acceptance tests — G3+G4 validated, runtime fixes - G3: Auth redirect scaffold with POST-based LoginHandler/RegisterHandler - G4: RequiredFieldValidator type inference (TextBox→string) - Build repair: 86→0 errors in 2 rounds - Runtime fixes: SQL Server→SQLite, seed data, route aliasing, cart page - New gaps identified: G5 (db provider), G6 (route aliasing), G7 (redirect page quarantine) - 6 screenshots captured, full report at dev-docs/migration-tests/wingtiptoys/run43/ Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix G6 route aliasing and G7 quarantine bypass Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: add FormView DataItem parameter + Content SSR fallback + Run 44 (23/25) - FormView: added DataItem parameter that wraps single item into Items collection, fixing empty rendering for single-record data binding - Content: added ShouldRenderInline fallback for SSR mode (no MasterPage) - Run 44 benchmark: 23/25 acceptance tests passing (92%) - All 2904 BWFC unit tests pass across net8.0/net9.0/net10.0 - Updated AfterWingtipToys sample with latest migration output Remaining failures: - UpdateCartQuantity: BoundField renders read-only (needs TemplateField) - RegisterAndLogin: Auth flow timeout (not BWFC-related) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(ai-team): Merge bishop TemplateField fix decisions; orchestration & session log Session: 2026-05-08-templatefield-fix Requested by: Copilot Changes: - Merged bishop-g3-g4-fixes.md, bishop-g6-g7-fixes.md into decisions.md (2 files) - Wrote orchestration log for CLI TemplateField transform fix (Run 44 regression) - Wrote brief session log for decision merge - decisions.md now 51,720 bytes (scheduled archival next session) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: WingtipToys Run 45 — 25/25 acceptance tests, TemplateField preserved - CLI correctly preserves TemplateField columns (verified: not a CLI bug) - L2 repair maintains TemplateField with editable inputs in ShoppingCart - All 3 TemplateField columns (Quantity/TextBox, Item Total/calc, Remove/CheckBox) intact - Added CLI TemplateField preservation tests (627 CLI tests passing) - 25/25 Playwright acceptance tests pass including cart quantity update - Total runtime: ~14 minutes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): remove WingtipToys tests from CI integration tests WingtipToys acceptance tests require SQL Server and are benchmark tests, not CI tests. They should only run locally via src/WingtipToys.AcceptanceTests. - Remove ProjectReference to AfterWingtipToys from AfterBlazorServerSide.Tests.csproj - Remove WingtipToysAcceptanceTests.cs and WingtipToysPlaywrightFixture.cs - Keep standalone src/WingtipToys.AcceptanceTests/ for local benchmarks Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: disable CodeQL on PRs/push, keep manual dispatch only Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: disable Squad workflows, keep manual dispatch only All 11 Squad workflows (squad-ci, squad-docs, squad-heartbeat, squad-insider-release, squad-issue-assign, squad-label-enforce, squad-preview, squad-promote, squad-release, squad-triage, sync-squad-labels) now only trigger via workflow_dispatch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.