Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 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
5844fc6
feat: add DetailsView and PasswordRecovery components (Sprint 3)
csharpfritz Feb 12, 2026
3e239da
fix: resolve FileUpload route conflict and fix Sprint 3 integration t…
csharpfritz Feb 12, 2026
a4d17f5
fix: resolve all pre-existing integration test failures (Boy Scout rule)
csharpfritz Feb 12, 2026
8b82831
docs(ai-team): log boy scout test fix session
csharpfritz Feb 12, 2026
970d9f8
fix: DetailsView edit mode renders input textboxes instead of plain text
csharpfritz Feb 12, 2026
7a4ae13
docs(ai-team): log DetailsView edit mode fix session
csharpfritz Feb 12, 2026
547b529
feat: add full Sprint 3 integration test coverage and milestone exit …
csharpfritz Feb 12, 2026
4c9ac45
fix: consolidate duplicate Utility Features branches and move ImageMa…
csharpfritz Feb 12, 2026
453e23a
feat: add DataBinder & ViewState sample pages, alphabetize all naviga…
csharpfritz Feb 12, 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
4 changes: 4 additions & 0 deletions .ai-team-templates/casting-history.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"universe_usage_history": [],
"assignment_cast_snapshots": {}
}
35 changes: 35 additions & 0 deletions .ai-team-templates/casting-policy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"casting_policy_version": "1.1",
"allowlist_universes": [
"The Usual Suspects",
"Reservoir Dogs",
"Alien",
"Ocean's Eleven",
"Arrested Development",
"Star Wars",
"The Matrix",
"Firefly",
"The Goonies",
"The Simpsons",
"Breaking Bad",
"Lost",
"Marvel Cinematic Universe",
"DC Universe"
],
"universe_capacity": {
"The Usual Suspects": 6,
"Reservoir Dogs": 8,
"Alien": 8,
"Ocean's Eleven": 14,
"Arrested Development": 15,
"Star Wars": 12,
"The Matrix": 10,
"Firefly": 10,
"The Goonies": 8,
"The Simpsons": 20,
"Breaking Bad": 12,
"Lost": 18,
"Marvel Cinematic Universe": 25,
"DC Universe": 18
}
}
3 changes: 3 additions & 0 deletions .ai-team-templates/casting-registry.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"agents": {}
}
41 changes: 41 additions & 0 deletions .ai-team-templates/ceremonies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Ceremonies

> Team meetings that happen before or after work. Each squad configures their own.

## Design Review

| Field | Value |
|-------|-------|
| **Trigger** | auto |
| **When** | before |
| **Condition** | multi-agent task involving 2+ agents modifying shared systems |
| **Facilitator** | lead |
| **Participants** | all-relevant |
| **Time budget** | focused |
| **Enabled** | ✅ yes |

**Agenda:**
1. Review the task and requirements
2. Agree on interfaces and contracts between components
3. Identify risks and edge cases
4. Assign action items

---

## Retrospective

| Field | Value |
|-------|-------|
| **Trigger** | auto |
| **When** | after |
| **Condition** | build failure, test failure, or reviewer rejection |
| **Facilitator** | lead |
| **Participants** | all-involved |
| **Time budget** | focused |
| **Enabled** | ✅ yes |

**Agenda:**
1. What happened? (facts only)
2. Root cause analysis
3. What should change?
4. Action items for next iteration
47 changes: 47 additions & 0 deletions .ai-team-templates/charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# {Name} — {Role}

> {One-line personality statement — what makes this person tick}

## Identity

- **Name:** {Name}
- **Role:** {Role title}
- **Expertise:** {2-3 specific skills relevant to the project}
- **Style:** {How they communicate — direct? thorough? opinionated?}

## What I Own

- {Area of responsibility 1}
- {Area of responsibility 2}
- {Area of responsibility 3}

## How I Work

- {Key approach or principle 1}
- {Key approach or principle 2}
- {Pattern or convention I follow}

## Boundaries

**I handle:** {types of work this agent does}

**I don't handle:** {types of work that belong to other team members}

**When I'm unsure:** I say so and suggest who might know.

**If I review others' work:** On rejection, I may require a different agent to revise (not the original author) or request a new specialist be spawned. The Coordinator enforces this.

## Collaboration

Before starting work, run `git rev-parse --show-toplevel` to find the repo root, or use the `TEAM ROOT` provided in the spawn prompt. All `.ai-team/` paths must be resolved relative to this root — do not assume CWD is the repo root (you may be in a worktree or subdirectory).

Before starting work, read `.ai-team/decisions.md` for team decisions that affect me.
After making a decision others should know, write it to `.ai-team/decisions/inbox/{my-name}-{brief-slug}.md` — the Scribe will merge it.
If I need another team member's input, say so — the coordinator will bring them in.

## Voice

{1-2 sentences describing personality. Not generic — specific. This agent has OPINIONS.
They have preferences. They push back. They have a style that's distinctly theirs.
Example: "Opinionated about test coverage. Will push back if tests are skipped.
Prefers integration tests over mocks. Thinks 80% coverage is the floor, not the ceiling."}
10 changes: 10 additions & 0 deletions .ai-team-templates/history.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Project Context

- **Owner:** {user name} ({user email})
- **Project:** {project description}
- **Stack:** {languages, frameworks, tools}
- **Created:** {date}

## Learnings

<!-- Append new learnings below. Each entry is something lasting about the project. -->
27 changes: 27 additions & 0 deletions .ai-team-templates/orchestration-log.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Orchestration Log Entry

> One file per agent spawn. Saved to `.ai-team/orchestration-log/{timestamp}-{agent-name}.md`
---

### {timestamp} — {task summary}

| Field | Value |
|-------|-------|
| **Agent routed** | {Name} ({Role}) |
| **Why chosen** | {Routing rationale — what in the request matched this agent} |
| **Mode** | {`background` / `sync`} |
| **Why this mode** | {Brief reason — e.g., "No hard data dependencies" or "User needs to approve architecture"} |
| **Files authorized to read** | {Exact file paths the agent was told to read} |
| **File(s) agent must produce** | {Exact file paths the agent is expected to create or modify} |
| **Outcome** | {Completed / Rejected by {Reviewer} / Escalated} |

---

## Rules

1. **One file per agent spawn.** Named `{timestamp}-{agent-name}.md`.
2. **Log BEFORE spawning.** The entry must exist before the agent runs.
3. **Update outcome AFTER the agent completes.** Fill in the Outcome field.
4. **Never delete or edit past entries.** Append-only.
5. **If a reviewer rejects work,** log the rejection as a new entry with the revision agent.
37 changes: 37 additions & 0 deletions .ai-team-templates/raw-agent-output.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Raw Agent Output — Appendix Format

> This template defines the format for the `## APPENDIX: RAW AGENT OUTPUTS` section
> in any multi-agent artifact.
## Rules

1. **Verbatim only.** Paste the agent's response exactly as returned. No edits.
2. **No summarizing.** Do not condense, paraphrase, or rephrase any part of the output.
3. **No rewriting.** Do not fix typos, grammar, formatting, or style.
4. **No code fences around the entire output.** The raw output is pasted as-is, not wrapped in ``` blocks.
5. **One section per agent.** Each agent that contributed gets its own heading.
6. **Order matches work order.** List agents in the order they were spawned.
7. **Include all outputs.** Even if an agent's work was rejected, include their output for diagnostic traceability.

## Format

```markdown
## APPENDIX: RAW AGENT OUTPUTS

### {Name} ({Role}) — Raw Output

{Paste agent's verbatim response here, unedited}

### {Name} ({Role}) — Raw Output

{Paste agent's verbatim response here, unedited}
```

## Why This Exists

The appendix provides diagnostic integrity. It lets anyone verify:
- What each agent actually said (vs. what the Coordinator assembled)
- Whether the Coordinator faithfully represented agent work
- What was lost or changed in synthesis

Without raw outputs, multi-agent collaboration is unauditable.
26 changes: 26 additions & 0 deletions .ai-team-templates/roster.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Team Roster

> {One-line project description}

## Coordinator

| Name | Role | Notes |
|------|------|-------|
| Squad | Coordinator | Routes work, enforces handoffs and reviewer gates. Does not generate domain artifacts. |

## Members

| Name | Role | Charter | Status |
|------|------|---------|--------|
| {Name} | {Role} | `.ai-team/agents/{name}/charter.md` | ✅ Active |
| {Name} | {Role} | `.ai-team/agents/{name}/charter.md` | ✅ Active |
| {Name} | {Role} | `.ai-team/agents/{name}/charter.md` | ✅ Active |
| {Name} | {Role} | `.ai-team/agents/{name}/charter.md` | ✅ Active |
| Scribe | Session Logger | `.ai-team/agents/scribe/charter.md` | 📋 Silent |

## Project Context

- **Owner:** {user name} ({user email})
- **Stack:** {languages, frameworks, tools}
- **Description:** {what the project does, in one sentence}
- **Created:** {date}
24 changes: 24 additions & 0 deletions .ai-team-templates/routing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Work Routing

How to decide who handles what.

## Routing Table

| Work Type | Route To | Examples |
|-----------|----------|----------|
| {domain 1} | {Name} | {example tasks} |
| {domain 2} | {Name} | {example tasks} |
| {domain 3} | {Name} | {example tasks} |
| Code review | {Name} | Review PRs, check quality, suggest improvements |
| Testing | {Name} | Write tests, find edge cases, verify fixes |
| Scope & priorities | {Name} | What to build next, trade-offs, decisions |
| Session logging | Scribe | Automatic — never needs routing |

## Rules

1. **Eager by default** — spawn all agents who could usefully start work, including anticipatory downstream work.
2. **Scribe always runs** after substantial work, always as `mode: "background"`. Never blocks.
3. **Quick facts → coordinator answers directly.** Don't spawn an agent for "what port does the server run on?"
4. **When two agents could handle it**, pick the one whose domain is the primary concern.
5. **"Team, ..." → fan-out.** Spawn all relevant agents in parallel as `mode: "background"`.
6. **Anticipate downstream work.** If a feature is being built, spawn the tester to write test cases from requirements simultaneously.
50 changes: 50 additions & 0 deletions .ai-team-templates/run-output.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Run Output — {task title}

> Final assembled artifact from a multi-agent run.

## Termination Condition

**Reason:** {One of: User accepted | Reviewer approved | Constraint budget exhausted | Deadlock — escalated to user | User cancelled}

## Constraint Budgets

<!-- Track all active constraints inline. Remove this section if no constraints are active. -->

| Constraint | Used | Max | Status |
|------------|------|-----|--------|
| Clarifying questions | 📊 {n} | {max} | {Active / Exhausted} |
| Revision cycles | 📊 {n} | {max} | {Active / Exhausted} |

## Result

{Assembled final artifact goes here. This is the Coordinator's synthesis of agent outputs.}

---

## Reviewer Verdict

<!-- Include one block per review. Remove this section if no review occurred. -->

### Review by {Name} ({Role})

| Field | Value |
|-------|-------|
| **Verdict** | {Approved / Rejected} |
| **What's wrong** | {Specific issue — not vague} |
| **Why it matters** | {Impact if not fixed} |
| **Who fixes it** | {Name of agent assigned to revise — MUST NOT be the original author} |
| **Revision budget** | 📊 {used} / {max} revision cycles remaining |

---

## APPENDIX: RAW AGENT OUTPUTS

<!-- Paste each agent's verbatim response below. Do NOT edit, summarize, rewrite, or wrap in code fences. One section per agent. -->

### {Name} ({Role}) — Raw Output

{Paste agent's verbatim response here, unedited}

### {Name} ({Role}) — Raw Output

{Paste agent's verbatim response here, unedited}
Loading
Loading