Skip to content

fix: Scrub email addresses from .squad/ files during migration (#108)#110

Merged
bradygaster merged 4 commits intodevfrom
squad/108-email-privacy-scrub
Feb 20, 2026
Merged

fix: Scrub email addresses from .squad/ files during migration (#108)#110
bradygaster merged 4 commits intodevfrom
squad/108-email-privacy-scrub

Conversation

@bradygaster
Copy link
Copy Markdown
Owner

Summary

Implements email address scrubbing for Squad state files as part of privacy hardening.

Changes

Core Implementation

  • scrubEmailsFromDirectory() function: Scans and removes email addresses from:
    • Root files: eam.md, decisions.md,
      outing.md, ceremonies.md
    • Agent histories: .ai-team/agents/*/history.md
    • Log files: .ai-team/log/*.{md,txt,log}
  • Pattern matching:

ame (email@domain.com) →
ame

  • Bare emails in identity contexts → [email scrubbed]
  • Preserves emails in URLs, code blocks, and examples (e.g., �xample.com)

CLI Command

  • squad scrub-emails [directory]: Manual scrubbing command
    • Defaults to .ai-team/ if no directory specified
    • Reports which files were modified
    • Warns about git history containing emails

Migration

  • v0.5.0 migration: Automatically scrubs emails during squad upgrade
  • Reports how many files were cleaned

Bug Fixes

  • Fixed unfinished squadInfo implementation (replaced missing detectSquadDir() calls)
  • Fixed showDeprecationWarning() → showDeprecationBanner() references

Documentation

  • Updated help text to document scrub-emails command
  • Added git history caveat with link to git-filter-repo

Testing

  • All 53 tests pass
  • Verified squad scrub-emails works on current repo (no emails found)
  • Cleaned up �rady@example.com example in human-notification skill

Related

bradygaster and others added 4 commits February 19, 2026 22:57
Session: 2026-02-20-v050-status-and-error-diagnosis
Requested by: bradygaster

Changes:
- Logged v0.5.0 readiness assessment (scope, risks, timeline)
- Logged network/model error diagnosis (Kujan investigation)
- Merged 3 inbox decisions to decisions.md (Keaton, McManus, Verbal)
- Deleted merged inbox files (3 items)
- Archive entries older than 2026-02-21 to decisions-archive.md
- Reduce decisions.md from 342.01 KB (6277 lines) to 37.48 KB (675 lines)
- Keep only 2 most recent days of decision entries in main file
- Fixes context overflow errors causing network interrupted + model unavailable
- Related to: CI/CD stability, agent reliability

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Implement scrubEmailsFromDirectory() function that removes email addresses from Squad state files
- Add 'squad scrub-emails' CLI command for manual email scrubbing
- Add v0.5.0 migration that automatically scrubs emails during upgrade
- Fix unfinished squadInfo implementation (replaced detectSquadDir calls)
- Clean up example email in human-notification skill
- Document git history caveat and point users to git-filter-repo

Resolves #108

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bradygaster bradygaster merged commit b4ebe48 into dev Feb 20, 2026
1 check passed
@bradygaster bradygaster deleted the squad/108-email-privacy-scrub branch February 27, 2026 01:08
joniba pushed a commit to joniba/squad that referenced this pull request Mar 26, 2026
…#110)

On Windows, az is az.cmd (batch file). Process.Start with
UseShellExecute=false can't find it. Fix: resolve .cmd extension
on Windows before spawning process.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
joniba pushed a commit to joniba/squad that referenced this pull request Mar 26, 2026
* feat(squad): hire Frodo — TI Domain Backend Engineer

Conservative charter for SecurityInsights RP and Sentinel-TiPipeline work.
Domain knowledge seeded from Sagi's TiExpert PR #15064785 review and
ICM 767184571 investigation (RP-side subscription blocking).

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

* fix: purge all lockout rules from source files (Decision bradygaster#48)

Removed Reviewer Rejection Lockout Semantics from:
- .github/agents/squad.agent.md (coordinator governance)
- .squad/templates/squad.agent.md (template copy)
- .squad/templates/charter.md (charter template)
- .squad/templates/run-output.md (review output template)
- .squad/agents/gandalf/charter.md (lead charter)
- templates/squad-starter/charter-templates/lead.md (starter template)

New rule: original authors own their fixes. Reviewers provide
specific feedback; coordinator routes it back to the author.

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

* docs: notifications system guide (bradygaster#120)

Adds comprehensive user-facing documentation for the proactive notifications system across three implementation phases: webhook routing, failure recovery, and scheduler integration.

Guide covers:
- Setup and configuration (webhook URL, directory structure)
- Sending notifications for all three tiers (urgent, action, feature)
- Event trigger patterns and integration points
- Failure recovery with dead letter queue and retry scheduler
- Configuration reference (state watermark, dead letter structure)
- Testing and validation commands
- Troubleshooting flowcharts and health checks
- Reference section with Adaptive Card templates

Updates docs/INDEX.md and docs/TAGS.md for proper indexing per Bilbo standards.

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

* docs: notifications status assessment — honest gap analysis

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

* fix(dgrep): Windows process runner for az.cmd invocation (bradygaster#110)

On Windows, az is az.cmd (batch file). Process.Start with
UseShellExecute=false can't find it. Fix: resolve .cmd extension
on Windows before spawning process.

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

* refactor: Frodo charter v2 — domain-grounded, no link indirection

Complete rewrite of Frodo's charter based on deep TI domain research.

Changes:
- Removed ICM-specific content (767184571, 764634026)
- Removed link indirection to PR reviews and external docs
- Added inline TI domain knowledge: 4-layer pipeline architecture
  (Ingestion, Processing, Storage, Matching), all repos covered
- Extracted concrete patterns from Galadriel's reviews (STIX inheritance,
  error handling contracts, API versioning, polling discipline)
- Expanded scope from 2 repos to entire TI domain (C:\dev\ti)
- Kept conservative philosophy, EMU auth, failure recovery unchanged

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

* refactor: incorporate Elrond's TI domain research into Frodo charter

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

---------

Co-authored-by: Elrond <elrond@squad.local>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
joniba pushed a commit to joniba/squad that referenced this pull request Mar 26, 2026
- Orchestration logs for Gandalf cleanup (bradygaster#115-bradygaster#117, MVP issues bradygaster#132-bradygaster#135, docs update)
- Orchestration logs for Coordinator POC validation (322 tests pass, 6 issues closed bradygaster#101-104/bradygaster#107/bradygaster#110)
- Session log: Consolidation and memory keeping
- Merged 17 entries from decisions inbox
- Updated Gandalf history (cleanup outcomes)
- Updated Gimli history (dgrep POC context, closed issues, test endpoint)
- Directives enforced: Opus for spawns, Teams deferred, YOLO dgrep, Kusto removed, endpoint saved

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