Skip to content

fix: use relative teamRoot path in config.json (#356)#408

Closed
bradygaster wants to merge 4 commits intodevfrom
squad/356-relative-team-root-config
Closed

fix: use relative teamRoot path in config.json (#356)#408
bradygaster wants to merge 4 commits intodevfrom
squad/356-relative-team-root-config

Conversation

@bradygaster
Copy link
Copy Markdown
Owner

Summary

Write .\ instead of absolute path for teamRoot in .squad/config.json\ during \squad init. Absolute paths are machine-specific and non-portable.

Closes #356

Working as EECOM (Core Dev)

Changes

  • packages/squad-sdk/src/config/init.ts: Add \ eamRoot: '.'\ to the config object written during \squad init. Previously removed entirely in .squad/config.json contains a machine-specific absolute teamRoot path #356 quick-fix; now writes a portable relative path.
  • test/cli/init.test.ts: New test verifying \squad init\ writes \ eamRoot: '.'\ (not absolute).
  • test/dual-root-resolver.test.ts: Three new tests:
    • \ eamRoot: '.'\ resolves to the repo root
    • Absolute teamRoot still resolves (backward compat)
    • Config without teamRoot falls back to local mode (backward compat)

Testing

  • 170 tests pass across 9 related test files (init, dual-root-resolver, remote-mode, doctor, link, init-remote, config, config-integration)
  • New tests cover the exact fix plus backward compatibility scenarios

bradygaster and others added 4 commits March 15, 2026 04:42
Session: 2026-03-15T11-40-00Z-skill-install-and-flicker-fix
Requested by: Coordinator

Changes:
- Appended team updates to Flight history: bug classification (6 issues, 2 fixed)
- Appended team updates to PAO history: PR #403 merge (docs FAQ)
- Created INCO history: terminal flicker fix cherry-pick to dev (PR #405)
- Logged session activity for Flight, PAO, INCO, Coordinator

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… next sprint queued

Updated focus to irritating bugs sprint (#197, #353, #354).
Recorded PR merges (#404, #403, #405), flicker fix cherry-pick,
github-multi-account skill install, and pending PR status.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Executed full reskill process to reduce per-agent context overhead:

**Step 1: Audit**
- Audited 20 agent charters (51,163 bytes total)
- Audited 12 agent histories (41,915 bytes total)
- Identified boilerplate in Collaboration, Boundaries, Voice sections
- Identified shared patterns across test discipline, docs standards, Windows compatibility

**Step 2: Extract**
Created 3 new skills from shared patterns:
- test-discipline: Update tests when changing APIs (FIDO/EECOM/PAO patterns)
- windows-compatibility: Cross-platform path handling (EECOM/Scribe patterns)
- docs-standards: Microsoft Style Guide + Squad conventions (PAO patterns)

**Step 3: Trim**
Charters trimmed to minimal template (≤1.5KB target):
- Removed Collaboration section (now in agent-collaboration skill)
- Removed Voice section (tagline blockquote sufficient)
- Removed verbose Boundaries boilerplate
- Trimmed Model rationale to single line
- Removed domain knowledge now in skills

Histories trimmed (≤8KB target):
- Removed session metadata (dates, branch names, requester names)
- Consolidated learnings into Core Context + Patterns sections
- Promoted recurring patterns to skills

**Savings:**
- Charters: 51,163 → 24,503 bytes (26,660 saved, 52.1%)
- Histories: 41,915 → 10,560 bytes (31,355 saved, 74.8%)
- Total: 93,078 → 35,063 bytes (58,015 saved, 62.3%)

Skills extracted: 3 new, 16 existing → 19 total shared knowledge base

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Write '.' instead of absolute path for teamRoot in .squad/config.json
during squad init. Absolute paths are machine-specific and non-portable.
Reading logic handles both relative and absolute paths for backward compat.

Closes #356

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bradygaster
Copy link
Copy Markdown
Owner Author

Closing — #356 was already fixed by PR #404 (removed teamRoot entirely). This PR re-adds it as '.' which conflicts with the merged approach. The backward-compat tests here are valuable though — may cherry-pick test additions separately.

@bradygaster bradygaster deleted the squad/356-relative-team-root-config branch March 15, 2026 12:32
tamirdresher pushed a commit to tamirdresher/squad that referenced this pull request Mar 16, 2026
…radygaster#408)

* chore(squad): Phase 2 launch — thinking feedback, P0 bugs, dual telemetry

Phase 1 complete: 5 issues closed (bradygaster#325, bradygaster#326, bradygaster#327, bradygaster#328, bradygaster#329), 5 PRs merged.
Phase 2 launched with Cheritto (thinking feedback), Hockney (P0 bugs), Saul (dual telemetry).
Decision inbox merged and archived.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): Phase 2 Wave 1 merged, Wave 2 launched

Session: 2026-02-23T2145-phase2-wave2
Phase 2 Wave 1 complete (PRs bradygaster#351, bradygaster#352, bradygaster#353 merged).
Wave 2 launched: Cheritto on ghost response detection (bradygaster#332), Hockney on error hardening (bradygaster#334).

Changes:
- Session log created: 2026-02-23T2145-phase2-wave2.md
- Merged 3 inbox decisions (Cheritto, Hockney, Saul)
- Deleted inbox files post-merge

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): Epic bradygaster#323 complete — all phases shipped 🎉

All 3 phases delivered:
- Phase 1 (Testing Wave): 6 issues closed
- Phase 2 (Improvement): 6 issues closed
- Phase 3 (Breathtaking): 7 issues closed
- 17 PRs merged, 19 issues closed total

Session log: 2026-02-23T2320-epic-complete.md
Decisions merged from inbox: P2 UX Polish, first-run wow moment

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* hostile QA: end-to-end quality assessment — 10 findings, 4 HIGH severity

Candid assessment requested by Brady. Traced every code path in cli-entry.ts,
shell/index.ts, shell/commands.ts, App.tsx, coordinator.ts, spawn.ts, and the
SDK adapter client.

Key findings:
- Dead sessions never evicted from agentSessions Map after connection drop
- No React ErrorBoundary — any render throw kills the shell
- Nasty-inputs corpus (95 strings) is never imported by any test
- No SIGTERM handler in interactive shell
- MemoryManager exported but never instantiated (dead code)
- Single streaming content slot clobbers multi-agent output
- User input silently dropped during processing (no type-ahead buffer)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): quality review findings — 7 issues filed

Quality audit complete: 5 agents assessed CLI across testing, coverage, stability, accessibility, UX.
Results: 4 P0 blockers (bradygaster#365bradygaster#368), 3 P1 items (bradygaster#369bradygaster#371).
Blocking: Waingro dead sessions, ErrorBoundary, dropped input; Marquez help text consistency.

Changes:
- Logged session summary to .squad/log/2026-02-24T0205-quality-review-complete.md
- Updated .squad/identity/now.md with quality review findings and new issue numbers

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): merge decision — Marquez UX audit findings

Quality assessment merged from inbox (Grade B): 11 improvements (3 P0, 4 P1, 4 P2). help text, stub commands, vocabulary, separators, roster.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): test sprint launch

Session: 2026-02-24T0210-test-sprint
Changes:
- Logged test sprint: 5 agents, 7+ issues
- Branches: P0 fixes, stale tests, E2E, hostile/SDK, A11y

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: add human journey E2E tests for 7 real user scenarios

Test the actual human experience, not internal modules. Each describe
block maps to a filed GitHub issue and simulates what a real person
does when they encounter Squad for the first time and beyond.

Journeys tested (39 assertions):
1. I just installed this — squad init creates .squad/, shows ceremony,
   gives clear next step, writes first-run marker, exits cleanly
2. My first conversation — welcome banner shows agent roster with
   names/roles/emojis, project description, focus area, first-run
   ceremony is one-time only
3. I'm waiting and getting anxious — ThinkingIndicator appears
   immediately, shows elapsed time, activity hints override default,
   NO_COLOR mode works
4. Something went wrong — friendly error messages with remediation
   tips, no stack traces leaked, whitespace input handled gracefully
5. I want to talk to a specific agent — @agent routing, case-
   insensitive matching, comma syntax, unknown names fall to
   coordinator
6. I'm a power user now — /help, /status, /agents, /history, /quit
   all return useful output, unknown commands guide to /help
7. I came back the next day — state persists, first-run consumed,
   team still loaded, focus area survives between sessions

Closes bradygaster#383, bradygaster#384, bradygaster#385, bradygaster#386, bradygaster#394, bradygaster#396, bradygaster#398

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Copy polish: warmer, human-centered messages across CLI

Every message now feels helpful, not corporate. Changes include:

- cli-entry.ts: 'Your AI team, always ready' instead of generic desc
- commands.ts: Status output changed from 'Root/Active now' to 'Home/Active'
- Help text: 'Check your team' instead of 'Show which squad'
- InputPrompt: 'Message or @agent' instead of corporate placeholder
- App.tsx: 'Your team is assembled. Let's try:' (warmer tone)
- init.ts: 'Your team is assembled' instead of 'ready'
- ThinkingIndicator: Dynamic thinking phrases (Processing, Working)
- All command help: Casual verbs (Who's here, Fresh screen, Leave)

Tests updated to match new output strings. All 125+ CLI tests pass.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant