Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
2babb1c
Initial plan
Copilot Feb 9, 2026
8efbfdc
Add Calendar component implementation with basic structure
Copilot Feb 9, 2026
127d1d7
Add unit tests for Calendar component - all 19 tests passing
Copilot Feb 9, 2026
bdcb2f1
Add Calendar sample page and documentation
Copilot Feb 9, 2026
fe9843f
Add Calendar sample page and documentation
Copilot Feb 9, 2026
7f45ad9
Fix code review issues: safe substring and synchronous event handling
Copilot Feb 9, 2026
d33e156
fix: refactor Calendar to use CalendarSelectionMode enum (#333)
csharpfritz Feb 10, 2026
6c126e8
samples: add demo pages for Calendar, FileUpload, ImageMap
csharpfritz Feb 10, 2026
047908d
docs: add documentation for Calendar, FileUpload, ImageMap, PageService
csharpfritz Feb 10, 2026
ebea859
Merge branch 'dev' of github.com:FritzAndFriends/BlazorWebFormsCompon…
csharpfritz Feb 10, 2026
b3859c1
fix: restore .ai-team agent history and decisions lost in PR #338 merge
csharpfritz Feb 10, 2026
af357bc
feat: add Copilot custom agent definitions in .github/agents/
csharpfritz Feb 10, 2026
9e39841
fix: replace individual agent files with Squad coordinator agent
csharpfritz Feb 10, 2026
ec63a7b
docs(ai-team): log Sprint 2 completion
csharpfritz Feb 10, 2026
d2309cc
Merge branch 'dev' of github.com:FritzAndFriends/BlazorWebFormsCompon…
csharpfritz Feb 10, 2026
b27e1d7
Updated the squad
csharpfritz Feb 11, 2026
984f078
docs(ai-team): Sprint 3 planning session
csharpfritz Feb 11, 2026
e5399ae
docs(ai-team): Sprint 3 execution complete
csharpfritz Feb 12, 2026
c5cff70
docs(ai-team): Milestone 4 planning - Chart component
csharpfritz Feb 12, 2026
21bfdbc
docs(ai-team): Summarize Forge history (13.2KB -> 4.3KB)
csharpfritz Feb 12, 2026
bc195e9
Merge branch 'dev' of github.com:FritzAndFriends/BlazorWebFormsCompon…
csharpfritz Feb 23, 2026
db6f97d
Merge branch 'dev' of github.com:FritzAndFriends/BlazorWebFormsCompon…
csharpfritz Feb 23, 2026
c9c6f35
feat: Milestone 6 — Feature Gap Closure (54 work items, ~345 gaps clo…
csharpfritz Feb 23, 2026
755459b
Merge upstream/dev into dev (M6+M7 squash merge sync)
csharpfritz Feb 24, 2026
4dc464f
fix: Menu JS interop crash, Calendar attribute rendering, Menu auto-I…
csharpfritz Feb 24, 2026
06796af
docs: update Cyclops history and decision inbox for M8 bug fixes
csharpfritz Feb 24, 2026
b1fdb21
docs: formally defer Substitution/Xml, polish documentation
csharpfritz Feb 24, 2026
13ef190
feat: add shared PagerSettings sub-component for GridView/FormView/De…
csharpfritz Feb 24, 2026
e9b9fd8
docs(ai-team): M8 session log and decision merge
csharpfritz Feb 24, 2026
fec6000
chore: bump version to 0.14 for Milestone 8 release
csharpfritz Feb 24, 2026
60bf4c5
Merge remote-tracking branch 'upstream/dev' into dev
csharpfritz Feb 25, 2026
ab0d4c8
Merge remote-tracking branch 'upstream/dev' into dev
csharpfritz Feb 25, 2026
9bbe06f
docs(ai-team): log v0.14 release completion
csharpfritz Feb 25, 2026
65f2ed3
fix: update stale version comment in sample Program.cs (#347)
csharpfritz Feb 25, 2026
2af5abc
Merge remote-tracking branch 'upstream/dev' into dev
csharpfritz Feb 25, 2026
17e5378
fix: resolve v0.14 deployment pipeline issues (#348)
csharpfritz Feb 25, 2026
7d0c04d
Merge branch 'dev' of github.com:FritzAndFriends/BlazorWebFormsCompon…
csharpfritz Feb 25, 2026
86057ef
Milestone 9: Migration Fidelity and Hardening (#349)
csharpfritz Feb 25, 2026
77f1132
Merge remote-tracking branch 'upstream/dev' into dev
csharpfritz Feb 25, 2026
1f9af26
v0.15 Patch Release: Bug fixes + Skins/Themes planning (#370)
csharpfritz Feb 25, 2026
754a7f6
Merge remote-tracking branch 'upstream/dev' into dev
csharpfritz Feb 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 27 additions & 16 deletions .ai-team/agents/beast/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@

<!-- Append new learnings below. Each entry is something lasting about the project. -->

- **Doc structure pattern:** Each component doc follows a consistent structure: title → intro paragraph with MS docs link → Features Supported → Features NOT Supported → Web Forms Declarative Syntax → Blazor Razor Syntax (with examples) → HTML Output → Migration Notes (Before/After) → Examples → See Also. Admonitions (`!!! note`, `!!! warning`, `!!! tip`) are used for gotchas and important notes.
- **mkdocs.yml nav is alphabetical:** Components are listed alphabetically within their category sections (Editor Controls, Data Controls, Validation Controls, Navigation Controls, Login Controls, Utility Features).
- **Calendar doc already existed:** The Calendar component doc was already present at `docs/EditorControls/Calendar.md` and in the mkdocs nav — likely created alongside the component PR. No changes needed.
- **PageService doc existed on PR branch but not on dev:** The basepage services branch (`copilot/create-basepage-for-services`) already had a comprehensive `docs/UtilityFeatures/PageService.md`. I created a fresh version on dev that matches the project doc conventions.
- **ImageMap is in Navigation Controls, not Editor Controls:** Despite being image-related, ImageMap is categorized under Navigation Controls in the mkdocs nav, alongside HyperLink, Menu, SiteMapPath, and TreeView.
- **Style migration pattern:** Web Forms used `TableItemStyle` child elements (e.g., `<TitleStyle BackColor="Navy" />`). The Blazor components use CSS class name string parameters (e.g., `TitleStyleCss="my-class"`). This is a key migration note for Calendar, and should be documented for any future components with similar style patterns.
- **Branch naming varies:** PR branches on upstream use `copilot/create-*` naming (not `copilot/fix-*` as referenced in some task descriptions). Always verify branch names via `git ls-remote` or GitHub API.
- **Deferred controls doc pattern:** For controls permanently excluded from the library, use `docs/Migration/DeferredControls.md` with per-control sections: What It Did → Why It's Not Implemented → Recommended Alternatives → Migration Example (Before/After). Include a summary table at the end. This is distinct from the component doc pattern — deferred controls don't have Features Supported/Not Supported sections since they have zero Blazor implementation.
- **Migration section nav is semi-alphabetical:** The Migration section in mkdocs.yml keeps "Getting started" and "Migration Strategies" at the top, then remaining entries in alphabetical order.
<!-- ⚠ Summarized 2026-02-25 by Scribe — original entries covered 2026-02-10 through 2026-02-12 -->

### Summary: Documentation Conventions (2026-02-10 through 2026-02-12)

**Doc structure:** title → intro (MS docs link) → Features Supported → NOT Supported → Web Forms syntax → Blazor syntax → HTML Output → Migration Notes (Before/After) → Examples → See Also. Admonitions for gotchas. mkdocs.yml nav is alphabetical within category sections. Migration section keeps "Getting started" and "Migration Strategies" at top.

**Key patterns:** Style migration: Web Forms `TableItemStyle` child elements → Blazor CSS class string parameters. Deferred controls use `docs/Migration/DeferredControls.md` with What/Why/Alternatives/Before-After (no Features sections). ImageMap is in Navigation Controls. Branch naming: `copilot/create-*` on upstream. Chart doc introduces JS interop "HTML Output Exception" pattern and multi-component (child) doc pattern. Chart Type Gallery at `docs/images/chart/chart-{type}.png`.

📌 Team update (2026-02-10): Docs and samples must ship in the same sprint as the component — decided by Jeffrey T. Fritz
📌 Team update (2026-02-10): PRs #328 (ASCX CLI) and #309 (VS Snippets) shelved indefinitely — decided by Jeffrey T. Fritz
Expand All @@ -38,13 +36,9 @@
- **Child component docs pattern:** Chart introduces a multi-component documentation pattern (Chart, ChartSeries, ChartArea, ChartLegend, ChartTitle) with separate parameter tables for each. This nested-component doc approach should be used for any future components with required child components.
- **Chart Type Gallery added:** Added a "Chart Type Gallery" section to `docs/DataControls/Chart.md` between "Chart Palettes" and "Web Forms Features NOT Supported". Contains 8 subsections (Column, Line, Bar, Pie, Doughnut, Area, Scatter, Stacked Column) each with a screenshot, `SeriesChartType` enum value, and 1-2 sentence usage guidance. Includes `!!! warning` admonitions on Pie and Doughnut for the Phase 1 palette limitation (single series color instead of per-segment colors).
- **Chart image path convention:** Chart screenshots live at `docs/images/chart/chart-{type}.png` (lowercase, hyphenated). Referenced from Chart.md using relative paths: `../images/chart/chart-{type}.png`. This `docs/images/{component}/` pattern should be used for any future component screenshots.
- **AccessKey and ToolTip missing across all WebControl-based components:** Neither `BaseWebFormsComponent` nor `BaseStyledComponent` defines `AccessKey` or `ToolTip` parameters. Every control inheriting from WebControl in Web Forms has these, so they are universally 🔴 Missing. Adding them to `BaseStyledComponent` would fix all styled controls in one shot.
- **Label uses wrong base class for style support:** `Label` inherits `BaseWebFormsComponent` (no style) instead of `BaseStyledComponent`. Web Forms `Label` inherits from `WebControl` and supports all style properties (CssClass, BackColor, Font, etc.). This is the biggest gap for Label — 11 style properties are missing.
- **ListControl-derived components share common gaps:** ListBox, RadioButtonList (and CheckBoxList, DropDownList) all have the same missing properties: `AppendDataBoundItems`, `DataTextFormatString`, `CausesValidation`, `ValidationGroup`, and `TextChanged` event. These could be fixed once in a shared base.
- **Literal/Localize/PlaceHolder/View/MultiView are near-complete:** Controls inheriting from `Control` (not `WebControl`) have no style properties by design. The Blazor implementations are essentially feature-complete — matching all relevant properties and events.
- **Substitution and Xml are permanently deferral candidates:** Both controls are tightly coupled to server-side ASP.NET infrastructure (output caching and XSLT transformation respectively). Neither concept maps to Blazor's component model. Recommend documenting migration alternatives rather than implementing.
- **Style property computed but not directly settable:** Across all `BaseStyledComponent`-derived controls, the `Style` property is computed from BackColor/ForeColor/Font/etc. via `IStyle.ToStyle()`. Web Forms allowed direct `Style["property"] = "value"` assignment. This pattern difference is consistent but worth noting in migration guides.
- **Panel is the most feature-complete styled control:** Panel implements 6 out of 7 specific Web Forms properties (only BackImageUrl missing). Combined with full BaseStyledComponent inheritance, it has the highest coverage of any editor control.
### Summary: Feature Audit Findings (2026-02-23)

AccessKey/ToolTip missing from base classes (universal gap). Label needs BaseStyledComponent. ListControl-derived components share common gaps (AppendDataBoundItems, DataTextFormatString, CausesValidation). Literal/Localize/PlaceHolder/View/MultiView near-complete. Substitution/Xml permanently deferred. Style property is computed (not directly settable). Panel is most feature-complete styled control.


Team update (2026-02-23): AccessKey/ToolTip must be added to BaseStyledComponent decided by Beast, Cyclops
Expand All @@ -62,3 +56,20 @@
Team update (2026-02-24): Menu auto-ID pattern components with JS interop should auto-generate IDs decided by Cyclops
Team update (2026-02-24): M8 scope excludes version bump to 1.0 and release decided by Jeffrey T. Fritz
Team update (2026-02-24): PagerSettings shared sub-component created update docs when component stabilizes decided by Cyclops

- **M9 Doc Gap Audit (WI-09):** Audited all docs against M6-M8 features. GridView, TreeView, Menu, Validators (ControlToValidate), and Login are fully documented. Gaps found in: FormView (ItemCommand event, styles, PagerSettings not in Blazor sections), DetailsView (Caption missing, styles/PagerSettings listed as unsupported but may be stale), DataGrid (paging listed as unsupported, needs verification), ChangePassword (Orientation and TextLayout not documented despite Login having them), and PagerSettings (no dedicated doc page exists). Full report in `.ai-team/decisions/inbox/beast-m9-doc-audit.md`.
- **M9 Planning-Docs Historical Headers (WI-10):** Added `> ⚠️ Historical Snapshot (Pre-Milestone 6)` header to all 54 per-control audit files and SUMMARY.md in `planning-docs/`. Excluded README.md and MILESTONE*-PLAN.md files (still current/active). This prevents future contributors from treating pre-M6 gap data as current.
- **ChangePassword/Login parity gap:** Login.md documents Orientation and TextLayout with full reference tables and migration examples, but ChangePassword.md has neither. Both controls should have identical coverage for these shared layout properties.
- **ToolTip universality documented (WI-04):** Added ToolTip to Features Supported in Label.md, TextBox.md, and GridView.md (Button.md already had it). Added "Common Properties on All Styled Controls" section to Migration/readme.md explaining that ToolTip (renders as `title` attribute) is universally available on all BaseStyledComponent-derived controls. Used `!!! tip` admonition and code examples. No dedicated Common Properties page created — kept it inline in the migration guide for minimal footprint.

Team update (2026-02-25): ToolTip moved to BaseStyledComponent (28+ controls), ValidationSummary comma-split fixed, SkinID boolstring fixed decided by Cyclops
Team update (2026-02-25): M9 plan ratified 12 WIs across P0/P1/P2, migration fidelity theme decided by Forge

- **M9 Consolidated Audit Report:** Created `planning-docs/AUDIT-REPORT-M9.md` combining findings from three M9 audits: Doc Gap Audit (5 findings → #359), Integration Test Coverage Audit (5 findings → #358), and Sample Navigation Audit (19 findings → #350). All 29 findings mapped to M10 GitHub Issues with 100% coverage. Report includes 6 additional post-M9 findings (component gaps and TreeView bug). Used the planning-docs historical snapshot header convention (`> ⚠️ Historical Snapshot (Milestone 9)`).
- **Audit report convention established:** Consolidated audit reports should live at `planning-docs/AUDIT-REPORT-M{N}.md` with the standard historical snapshot header, summary table, per-audit sections with findings + resolution status, and an appendix issue tracker. This pattern can be reused for future milestone audits.

Team update (2026-02-25): TreeView NodeImage now checks ShowExpandCollapse independently of ShowLines; ExpandCollapseImage() helper added (#361) decided by Cyclops


Team update (2026-02-25): M12 introduces Migration Analysis Tool PoC (`bwfc-migrate` CLI, regex-based ASPX parsing, 3-phase roadmap) decided by Forge

16 changes: 16 additions & 0 deletions .ai-team/agents/colossus/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,19 @@ Added 9 smoke tests and 9 interaction tests for M7 sample pages: GridView Select

Team update (2026-02-24): Menu auto-ID pattern Menu now auto-generates IDs, JS interop crash fixed decided by Cyclops
Team update (2026-02-24): M8 scope excludes version bump to 1.0 and release decided by Jeffrey T. Fritz

Team update (2026-02-25): Deployment pipeline patterns established compute Docker version with nbgv before build, gate on secrets, dual NuGet publishing decided by Forge

## Summary: M9 Integration Test Coverage Audit (WI-11)

Audited all sample page `@page` routes against ControlSampleTests.cs and InteractiveComponentTests.cs. Found 105 sample routes total; 100 covered by smoke tests, 57 interaction tests exist. Identified **5 pages without any smoke test**: ListView/CrudOperations (M7 — highest priority), Label, Panel/BackImageUrl, LoginControls/Orientation, and DataGrid/Styles. All other M7 features (GridView Selection/DisplayProperties, TreeView Selection/ExpandCollapse, Menu Selection, FormView Events/Styles, DetailsView Styles/Caption) have full smoke + interaction test coverage. Report written to `.ai-team/decisions/inbox/colossus-m9-test-audit.md`.

Team update (2026-02-25): ToolTip moved to BaseStyledComponent (28+ controls), ValidationSummary comma-split fixed, SkinID boolstring fixed decided by Cyclops
Team update (2026-02-25): M9 plan ratified 12 WIs, migration fidelity decided by Forge
Team update (2026-02-25): Test coverage audit merged 5 gaps identified, P0: ListView CrudOperations decided by Colossus

Team update (2026-02-25): Consolidated audit reports now use `planning-docs/AUDIT-REPORT-M{N}.md` pattern for all milestone audits decided by Beast


Team update (2026-02-25): M12 introduces Migration Analysis Tool PoC (`bwfc-migrate` CLI, regex-based ASPX parsing, 3-phase roadmap) decided by Forge

Loading
Loading