Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions .ai-team/agents/fenster/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,9 @@ _Summarized from initial architecture review (2026-02-07). Full entries in `hist
- **Two-channel pattern (MCP read, gh CLI write) is GitHub-specific, not universal.** Future providers will likely be CLI-only. The MCP fallback logic should be inside the GitHub provider, not in the generic interface.
- **Git remote URL parsing covers 95% of provider detection.** `github.com` → GitHub, `dev.azure.com`/`visualstudio.com` → ADO, `gitlab.com` → GitLab. Self-hosted instances need CLI-based detection (is `glab` configured?). Generic is the fallback.
- **ADO is the hardest provider.** WIQL for search, Tags for labels, Iterations for milestones, Work Item Types for issues — every concept has an impedance mismatch. GitLab is the easiest (glab mirrors gh closely). Estimate: ADO 23h, GitLab 12h, GitHub reorganization 9h.
- **Project type detection via marker files (issue #87).** `detectProjectType(dir)` checks for `package.json` (npm), `go.mod` (go), `requirements.txt`/`pyproject.toml` (python), `pom.xml`/`build.gradle` (java), `*.csproj`/`*.sln` (dotnet), falling back to `unknown`. Five project-type-sensitive workflows (`squad-ci`, `squad-release`, `squad-preview`, `squad-insider-release`, `squad-docs`) get stubs with TODO comments for non-npm projects. Six GitHub-API-only workflows always copy verbatim. Tests updated to add `package.json` in temp dirs where byte-for-byte template match is asserted (that test is semantically "npm project gets verbatim copy"). All 72 tests pass.

📌 Team update (2026-02-20): Issues #86 & #87 sprint complete. Git Checkout Safety (Verbal): Added Git Safety rules to spawn templates and Fenster charter. Hockney: Wrote 8 regression tests for uncommitted-change protection. Project Type Detection (Fenster): Implemented `detectProjectType()` in index.js with marker file detection; workflow generation now stubs non-npm types with helpful TODO comments. All 72 tests pass. — decided by Verbal, Hockney, Fenster

📌 Team update (2026-02-10): v0.3.0 is ONE feature — proposals as GitHub Issues. All other items deferred. — decided by bradygaster

Expand Down
3 changes: 3 additions & 0 deletions .ai-team/agents/verbal/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,8 +198,11 @@ _Summarized from sessions through 2026-02-09. Full entries in `history-archive.m
📌 Team update (2026-02-13): Client Compatibility section added to squad.agent.md with platform detection logic, VS Code spawn adaptations, and feature degradation table — decided by Verbal



📌 Team update (2026-02-15): Directory structure rename planned — .ai-team/ → .squad/ starting v0.5.0 with backward-compatible migration; full removal in v1.0.0 — Brady

📌 Team update (2026-02-20): Issues #86 & #87 sprint complete. Git Checkout Safety (Verbal): Added Git Safety rules to spawn templates and Fenster charter. Hockney: Wrote 8 regression tests for uncommitted-change protection. Project Type Detection (Fenster): Implemented `detectProjectType()` in index.js with marker file detection; workflow generation now stubs non-npm types with helpful TODO comments. All 72 tests pass. — decided by Verbal, Hockney, Fenster

## Learnings

### 2026-02-19: GitHub Issue #102 — squad.agent.md path migration complete
Expand Down
28 changes: 28 additions & 0 deletions .ai-team/decisions.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,34 @@

---

### 2026-02-20: Project Type Detection for Workflow Generation

**By:** Fenster (Core Developer)
**Issue:** #87
**Branch:** `squad/87-project-type-detection`

**Decision:** Implement project type detection in `index.js` so that `squad init` and `squad upgrade` do not install broken npm/Node.js workflow commands into non-Node projects.

**Detection Logic:** Marker files checked in target directory, first-match wins:

| Marker | Detected Type |
|--------|--------------|
| `package.json` | `npm` |
| `go.mod` | `go` |
| `requirements.txt` or `pyproject.toml` | `python` |
| `pom.xml`, `build.gradle`, `build.gradle.kts` | `java` |
| `*.csproj` or `*.sln` | `dotnet` |
| (none of the above) | `unknown` |

**Behavior:**
- **npm projects:** All workflows copied verbatim (existing behavior unchanged).
- **Non-npm known types:** Project-type-sensitive workflows get a stub with `# TODO: Add your {type} build/test commands here`.
- **Unknown type:** Stub with `# TODO: Project type was not detected — add your build/test commands here`.

**Impact:** Workflows affected: `squad-ci.yml`, `squad-release.yml`, `squad-preview.yml`, `squad-insider-release.yml`, `squad-docs.yml`. Unaffected (GitHub API only): `squad-heartbeat.yml`, `squad-main-guard.yml`, `squad-triage.yml`, `squad-issue-assign.yml`, `sync-squad-labels.yml`, `squad-label-enforce.yml`.

---

### 2026-02-21: Security Policies — Active Threat Model & Recommendations

**By:** Baer (Security Specialist)
Expand Down
33 changes: 33 additions & 0 deletions .ai-team/log/2026-02-20-issue-86-87.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Session Log: Issues #86 & #87

**Date:** 2026-02-20
**Issues:** #86 (Git Checkout Safety), #87 (Project Type Detection)
**Agents:** Verbal, Hockney, Fenster
**Outcome:** All 72 tests pass.

## What Happened

Three agents spawned in background mode to work on data safety and project initialization:

| Agent | Role | Issue | Result |
|-------|------|-------|--------|
| **Verbal** | Prompt Engineer | #86 | Added Git Safety rules to spawn templates and Fenster charter |
| **Hockney** | Tester | #86 | Wrote 8 regression tests for uncommitted-change protection |
| **Fenster** | Core Dev | #87 | Implemented project type detection in index.js, workflow stub generation |

## Decisions Merged

- **fenster-project-type-detection.md** — Project type auto-detection for npm/Go/Python/.NET/Java; workflow generation logic updated to stub non-npm types with helpful comments.

## Key Outcomes

- ✅ Issue #86: Git checkout now refuses operations with uncommitted changes. Tests validate protection.
- ✅ Issue #87: `squad init` and `squad upgrade` now detect project type and generate appropriate workflows (stub for non-npm, verbatim for npm).
- ✅ All 72 tests pass.

## Branches

- `squad/86-prevent-git-checkout-data-loss` — Git Safety work
- `squad/87-project-type-detection` — Project Type Detection work

Both branches working concurrently, test suite validating both.
45 changes: 45 additions & 0 deletions .ai-team/log/2026-02-20-v050-sprint-close.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Session Log: v0.5.0 Sprint Close

**Date:** 2026-02-20
**Focus:** v0.5.0 release finalization & quality assurance

## What Was Fixed

- **Email scrub tests:** Fixed 2 failing tests in `test/email-scrub.test.js`
- **scrubEmailsFromDirectory() return value handling:** Corrected return value logic in `index.js`
- **Merge conflict:** Resolved conflict in `index.js` when merging PRs #120, #121, #122 into dev

## What Was Closed

All v0.5.0 sprint issues closed:
- #107 (identity layer — wisdom.md, now.md)
- #62 (version bump to 0.5.0, release checklist)
- #99, #63, #36, #25, #91 (prior work items)
- Plus prior session closes: #71, #82, #84, #85, #98, #101–#106, #108, #69, #76

## What Was Released

- **v0.5.0 release:** dev→preview→main merge initiated and running async
- **Test suite:** All 64 tests passing (commit e9c4954)
- **Code deployed:** Ready for public release

## Agents Involved

- **Fenster** (4 spawns): deprecation banner, ISO 8601 timestamps, skills export/import, email scrub tests
- **Kobayashi** (3 spawns): .squad/ workflow verification, merge coordination (3x), version bump & CI validation, release merge
- **Verbal** (1 spawn): cold-path extraction
- **Keaton** (1 spawn): decision lifecycle SKILL.md
- **Keaton+Verbal** (1 spawn): identity layer implementation
- **Coordinator** (1 spawn): test fixes + return value handling

## Timeline

- **12 spawns** executed (agents 1–12)
- **6 PRs** merged into dev: #114, #115, #117, #118, #119, #120
- **3 PRs** merged into preview/main: all v0.5.0 PRs
- **0 blocking issues** remaining
- **Release:** Live (pending async merge completion)

---

**Status:** Sprint complete. v0.5.0 ready for production.
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Orchestration Log: v0.5.0 Sprint Close — Session 3e43adc6

**Date:** 2026-02-20
**Coordinator:** Scribe (recording session spawn manifest)

## Spawn Manifest

| # | Agent | Task | Details | Outcome |
|----|-------|------|---------|---------|
| 1 | Fenster | #71 | Removed deprecation banner from squad.agent.md | PR #115 |
| 2 | Kobayashi | #106 | Verified .squad/ guard workflow | Issue closed (already resolved) |
| 3 | Verbal | #98 | Extracted cold-path sections | PR #114 |
| 4 | Fenster | #84 | ISO 8601 timestamps | PR #117 |
| 5 | Fenster | #82 | Skills export/import tests + docs | PR #119 |
| 6 | Keaton | #85 | Decision lifecycle SKILL.md | PR #118 |
| 7 | Kobayashi | — | Merged PRs #114, #115, #117, #118, #119 into dev | Commit merged |
| 8 | Keaton+Verbal | #107 | Identity layer (wisdom.md + now.md) | PR #121 |
| 9 | Fenster | #108 | Email scrub tests | PR #122 |
| 10 | Kobayashi | #62 | Version bump 0.5.0, CI validation, release checklist | PR #120 |
| 11 | Kobayashi | — | Merged PRs #120, #121, #122 into dev (conflict in index.js resolved) | Commit merged |
| 12 | Coordinator | — | Fixed 2 failing tests in test/email-scrub.test.js + fixed scrubEmailsFromDirectory() return value handling | Commit e9c4954 to dev |
| 13 | Kobayashi | — | Merging dev→preview→main for v0.5.0 release | Running async |

## Issues Closed This Session

- #107 (identity layer)
- #62 (v0.5.0 release)
- #99 (prior work)
- #63 (prior work)
- #36 (prior work)
- #25 (prior work)
- #91 (prior work)

## Prior Session Issues Closed

- #71, #82, #84, #85, #98, #101–#106, #108, #69, #76

## Test Status

- **64/64 tests passing** on dev at commit e9c4954

## Release Status

v0.5.0 release process initiated (dev→preview→main merge running async).
34 changes: 34 additions & 0 deletions .ai-team/orchestration-log/2026-02-20T09-27-43-fenster.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Orchestration Log: Fenster (Core Developer)

**Agent:** Fenster
**Role:** Core Developer, Infrastructure
**Branch:** `squad/87-project-type-detection`
**Mode:** background
**Date:** 2026-02-20T09:27:43Z

## Work Completed

- Implemented `detectProjectType()` function in `index.js` to auto-detect project type
- Implemented `generateProjectWorkflowStub()` for non-npm project types (Go, Python, .NET, Java/Kotlin)
- Updated workflow generation logic to stub non-npm/unknown project types with helpful TODO comments
- Updated init, upgrade, and upgrade-already-current paths to use project-type-aware workflow logic
- Marker file detection: package.json, go.mod, requirements.txt, pyproject.toml, pom.xml, build.gradle, build.gradle.kts, *.csproj, *.sln
- All 64 tests pass

## Outcome

✅ Success. 64/64 tests pass. Project type detection is now live in `index.js`.

## Key Files Modified

- `index.js` — `detectProjectType()`, `generateProjectWorkflowStub()`, workflow copy dispatch
- `test/workflows.test.js` — 2 tests updated to add package.json to temp dirs before init
- `.ai-team/agents/fenster/charter.md` — Git Safety section added (see Verbal's work on #86)

## Decisions Merged

**Decision: Project Type Detection for Workflow Generation** — See `.ai-team/decisions/inbox/fenster-project-type-detection.md` for full details.

## Cross-Agent Notes

Fenster and Verbal worked on overlapping concerns: Fenster added project-type detection (#87), Verbal added Git Safety rules to spawn templates (#86). Hockney's tests validate safety guarantees. All three agents coordinate on branch `squad/86-prevent-git-checkout-data-loss` / `squad/87-project-type-detection` (note: may be different branches, both work is valid).
33 changes: 33 additions & 0 deletions .ai-team/orchestration-log/2026-02-20T09-27-43-hockney.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Orchestration Log: Hockney (Tester)

**Agent:** Hockney
**Role:** Quality Assurance, Testing
**Branch:** `squad/86-prevent-git-checkout-data-loss`
**Mode:** background
**Date:** 2026-02-20T09:27:43Z

## Work Completed

- Wrote `test/git-safety.test.js` with 8 regression tests for uncommitted-change protection
- Tests validate that git operations (checkout, pull, etc.) refuse when uncommitted changes exist
- Integration tests verify error messages and recovery paths
- All 72 tests pass

## Outcome

✅ Success. 72/72 tests pass.

## Key Files Modified

- `test/git-safety.test.js` — new test suite with 8 regression tests
- `package.json` — test dependencies confirmed in place

## Test Summary

- **Test count:** 8 tests
- **Pass rate:** 100% (72/72 total)
- **Coverage:** uncommitted-change detection, error handling, recovery paths

## Cross-Agent Notes

Hockney's tests validate Verbal's Git Safety rules. Tests support issue #86 work.
32 changes: 32 additions & 0 deletions .ai-team/orchestration-log/2026-02-20T09-27-43-verbal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Orchestration Log: Verbal (Prompt Engineer)

**Agent:** Verbal
**Role:** Prompt Engineer
**Branch:** `squad/86-prevent-git-checkout-data-loss`
**Mode:** background
**Date:** 2026-02-20T09:27:43Z

## Work Completed

- Added Git Safety rules to `squad.agent.md` spawn templates and Fenster charter
- Implemented uncommitted-change protection directives in spawn prompts
- Updated all spawn templates with safety-first guidance for git operations
- All 72 tests pass

## Outcome

✅ Success. All tests pass.

## Key Files Modified

- `.github/agents/squad.agent.md` — spawn templates updated with Git Safety rules
- `.ai-team/agents/fenster/charter.md` — Git Safety section added to Fenster's role
- `test/git-safety.test.js` — supported by Hockney's regression test suite

## Decisions Merged

None — git safety is operational guidance, not architectural decision.

## Cross-Agent Notes

Verbal and Fenster worked the same issue (#86). Hockney wrote 8 regression tests in `test/git-safety.test.js` to validate the safety rules.
Loading
Loading