Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
43a39e3
chore(deps): bump actions/checkout from 4.3.1 to 6.0.2 (#24)
dependabot[bot] Apr 1, 2026
377eeef
ci: skip Claude Code reviewer on Dependabot PRs (#28)
don-petry Apr 1, 2026
c6d4308
ci: move Dependabot exclusion to step-level in Claude workflow (#30)
don-petry Apr 1, 2026
eaa9dd6
chore(deps): bump anthropics/claude-code-action from 1.0.80 to 1.0.82…
dependabot[bot] Apr 1, 2026
d96bc85
chore(deps): bump anthropics/claude-code-action from 1.0.83 to 1.0.88…
dependabot[bot] Apr 4, 2026
08021c9
chore: enable Claude issue trigger per org CI standard (#48)
don-petry Apr 5, 2026
fe60a5b
fix: add checkout step to Claude workflow for issue-triggered mode (#49)
don-petry Apr 5, 2026
b7ef45d
feat: split Claude workflow into interactive + issue automation jobs …
don-petry Apr 6, 2026
40e0e98
feat: switch to org-level reusable Claude Code workflow (#62)
don-petry Apr 6, 2026
f6e3666
chore: add CODEOWNERS file for code review enforcement
github-actions[bot] Apr 6, 2026
1f3aa80
fix: rename codeql workflow and add javascript-typescript + actions m…
don-petry Apr 8, 2026
7c37552
chore(workflows): adopt centralized stubs from petry-projects/.github…
don-petry Apr 8, 2026
020a5df
fix: correct reusable workflow path (remove duplicate .github/) (#135)
don-petry Apr 21, 2026
a247764
Revert "fix: correct reusable workflow path (remove duplicate .github…
Apr 21, 2026
416f000
ci: add auto-rebase workflow and check_run trigger to claude.yml
don-petry Apr 21, 2026
b285731
chore(ci): remove stray codeql.yml workflow (#115)
don-petry Apr 26, 2026
c991edd
chore(security): remove drift codeql.yml, enable GitHub-managed defau…
don-petry Apr 26, 2026
5c49ada
fix(ci): pin agent-shield reusable workflow to SHA (#126)
don-petry Apr 26, 2026
6249825
chore: add bot accounts to CODEOWNERS for auto-merge support
don-petry May 3, 2026
205336a
chore: standardize CODEOWNERS on @petry-projects/org-leads (#160)
don-petry May 4, 2026
72c64fb
chore(dev-lead): remove claude.yml — replaced by dev-lead.yml (#176)
don-petry May 16, 2026
2c6bdf7
feat: implement issue #162 — Compliance: codeowners-no-catchall (#182)
don-petry May 20, 2026
44aff01
feat: implement issue #175 — Compliance: non-stub-pr-review-mention.y…
don-petry May 21, 2026
4eefa06
feat: implement issue #161 — Compliance: codeowners-org-leads-not-fir…
don-petry May 21, 2026
7f636e0
feat: implement issue #86 — Compliance: unpinned-actions-claude.yml (…
don-petry May 21, 2026
f76c3d0
feat: implement issue #217 — Compliance: codeowners-org-leads-not-fir…
don-petry Jun 20, 2026
bb4b5de
chore: major-scope repin self-consumer stubs [#657 F5] (#359)
don-petry Jul 14, 2026
2f08246
feat: implement issue #372 — Compliance: stub-surface-drift-pr-auto-r…
don-petry Jul 20, 2026
3f602e1
feat: implement issue #368 — Compliance: ruleset-drift-pr-quality-all…
don-petry Jul 20, 2026
78817d9
feat: implement issue #369 — Compliance: dev-lead-stub-pin (#391)
don-petry Jul 20, 2026
bc8bec4
feat: implement issue #370 — Compliance: dev-lead-stub-agent-ref (#395)
don-petry Jul 21, 2026
8cdb511
chore: sync 2 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 21, 2026
fac78ed
chore: sync 1 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 22, 2026
4ee0f3a
chore: sync 2 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 22, 2026
aa64259
feat: implement issue #371 — Compliance: stub-surface-drift-feature-i…
don-petry Aug 2, 2026
7e1aa98
Initial commit
don-petry Mar 21, 2026
05387e7
Install BMad Method v6.2.0 with Claude Code integration
claude Mar 21, 2026
51b09b9
fix: configure CodeQL to scan Python only (#6)
don-petry Mar 24, 2026
ba71d21
chore: add ECC integration, TEA module, and slim CLAUDE.md
Mar 26, 2026
c0a52ff
Add Claude Code GitHub Action (#15)
don-petry Mar 27, 2026
10749d1
fix: address OpenSSF Scorecard findings (#22)
don-petry Mar 28, 2026
dc71968
chore(deps): bump github/codeql-action from 3.35.1 to 4.35.1 (#27)
dependabot[bot] Apr 1, 2026
840ef2c
chore(deps): bump actions/checkout from 4.3.1 to 6.0.2 (#24)
dependabot[bot] Apr 1, 2026
8fa67fd
ci: skip Claude Code reviewer on Dependabot PRs (#28)
don-petry Apr 1, 2026
12ad6bc
ci: move Dependabot exclusion to step-level in Claude workflow (#30)
don-petry Apr 1, 2026
017bafa
chore(deps): bump anthropics/claude-code-action from 1.0.80 to 1.0.82…
dependabot[bot] Apr 1, 2026
aa954d2
chore(deps): bump anthropics/claude-code-action from 1.0.83 to 1.0.88…
dependabot[bot] Apr 4, 2026
23668b5
chore: enable Claude issue trigger per org CI standard (#48)
don-petry Apr 5, 2026
414b39c
fix: add checkout step to Claude workflow for issue-triggered mode (#49)
don-petry Apr 5, 2026
b24d0cb
feat: split Claude workflow into interactive + issue automation jobs …
don-petry Apr 6, 2026
b993609
feat: switch to org-level reusable Claude Code workflow (#62)
don-petry Apr 6, 2026
3573e24
chore: add CODEOWNERS file for code review enforcement
github-actions[bot] Apr 6, 2026
fe77194
fix: rename codeql workflow and add javascript-typescript + actions m…
don-petry Apr 8, 2026
d09f0da
chore(workflows): adopt centralized stubs from petry-projects/.github…
don-petry Apr 8, 2026
93279ff
fix: correct reusable workflow path (remove duplicate .github/) (#135)
don-petry Apr 21, 2026
f6da820
Revert "fix: correct reusable workflow path (remove duplicate .github…
Apr 21, 2026
8035d23
ci: add auto-rebase workflow and check_run trigger to claude.yml
don-petry Apr 21, 2026
b55f5c5
chore(ci): remove stray codeql.yml workflow (#115)
don-petry Apr 26, 2026
ed4fb83
chore(security): remove drift codeql.yml, enable GitHub-managed defau…
don-petry Apr 26, 2026
8401869
fix(ci): pin agent-shield reusable workflow to SHA (#126)
don-petry Apr 26, 2026
c76fd80
chore: add bot accounts to CODEOWNERS for auto-merge support
don-petry May 3, 2026
8db6c0e
chore: standardize CODEOWNERS on @petry-projects/org-leads (#160)
don-petry May 4, 2026
479bda6
chore(dev-lead): remove claude.yml — replaced by dev-lead.yml (#176)
don-petry May 16, 2026
d791e2d
feat: implement issue #162 — Compliance: codeowners-no-catchall (#182)
don-petry May 20, 2026
68091b8
feat: implement issue #175 — Compliance: non-stub-pr-review-mention.y…
don-petry May 21, 2026
cdeb3a7
feat: implement issue #161 — Compliance: codeowners-org-leads-not-fir…
don-petry May 21, 2026
86850eb
feat: implement issue #86 — Compliance: unpinned-actions-claude.yml (…
don-petry May 21, 2026
038d4ab
feat: implement issue #217 — Compliance: codeowners-org-leads-not-fir…
don-petry Jun 20, 2026
dd3045f
chore: major-scope repin self-consumer stubs [#657 F5] (#359)
don-petry Jul 14, 2026
a4d179c
feat: implement issue #372 — Compliance: stub-surface-drift-pr-auto-r…
don-petry Jul 20, 2026
ed6c400
feat: implement issue #368 — Compliance: ruleset-drift-pr-quality-all…
don-petry Jul 20, 2026
5bf3043
feat: implement issue #369 — Compliance: dev-lead-stub-pin (#391)
don-petry Jul 20, 2026
09e8cb1
feat: implement issue #370 — Compliance: dev-lead-stub-agent-ref (#395)
don-petry Jul 21, 2026
8bcd7ff
chore: sync 2 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 21, 2026
025684e
chore: sync 1 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 22, 2026
afacdcb
chore: sync 2 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 22, 2026
b052e58
feat: implement issue #371 — Compliance: stub-surface-drift-feature-i…
don-petry Aug 2, 2026
0f158c1
Initial commit
don-petry Mar 21, 2026
cae282f
Install BMad Method v6.2.0 with Claude Code integration
claude Mar 21, 2026
e98101f
fix: configure CodeQL to scan Python only (#6)
don-petry Mar 24, 2026
560373d
chore: add ECC integration, TEA module, and slim CLAUDE.md
Mar 26, 2026
ab69920
Add Claude Code GitHub Action (#15)
don-petry Mar 27, 2026
262b60a
fix: address OpenSSF Scorecard findings (#22)
don-petry Mar 28, 2026
af234b6
chore(deps): bump github/codeql-action from 3.35.1 to 4.35.1 (#27)
dependabot[bot] Apr 1, 2026
04c2447
chore(deps): bump actions/checkout from 4.3.1 to 6.0.2 (#24)
dependabot[bot] Apr 1, 2026
ee1fbbd
ci: skip Claude Code reviewer on Dependabot PRs (#28)
don-petry Apr 1, 2026
985ac59
ci: move Dependabot exclusion to step-level in Claude workflow (#30)
don-petry Apr 1, 2026
c3e8991
chore(deps): bump anthropics/claude-code-action from 1.0.80 to 1.0.82…
dependabot[bot] Apr 1, 2026
0dbf609
chore(deps): bump anthropics/claude-code-action from 1.0.83 to 1.0.88…
dependabot[bot] Apr 4, 2026
d0e996a
chore: enable Claude issue trigger per org CI standard (#48)
don-petry Apr 5, 2026
0fe40a3
fix: add checkout step to Claude workflow for issue-triggered mode (#49)
don-petry Apr 5, 2026
6dd274c
feat: split Claude workflow into interactive + issue automation jobs …
don-petry Apr 6, 2026
f847ea7
feat: switch to org-level reusable Claude Code workflow (#62)
don-petry Apr 6, 2026
71368cf
chore: add CODEOWNERS file for code review enforcement
github-actions[bot] Apr 6, 2026
1d9e8fb
fix: rename codeql workflow and add javascript-typescript + actions m…
don-petry Apr 8, 2026
93b5d71
chore(workflows): adopt centralized stubs from petry-projects/.github…
don-petry Apr 8, 2026
c2d86b6
fix: correct reusable workflow path (remove duplicate .github/) (#135)
don-petry Apr 21, 2026
8aeae4f
Revert "fix: correct reusable workflow path (remove duplicate .github…
Apr 21, 2026
e80ad6f
ci: add auto-rebase workflow and check_run trigger to claude.yml
don-petry Apr 21, 2026
dd4d9e5
chore(ci): remove stray codeql.yml workflow (#115)
don-petry Apr 26, 2026
5eeb825
chore(security): remove drift codeql.yml, enable GitHub-managed defau…
don-petry Apr 26, 2026
8db8da5
fix(ci): pin agent-shield reusable workflow to SHA (#126)
don-petry Apr 26, 2026
0988caa
chore: add bot accounts to CODEOWNERS for auto-merge support
don-petry May 3, 2026
f020d3f
chore: standardize CODEOWNERS on @petry-projects/org-leads (#160)
don-petry May 4, 2026
dc77c21
chore(dev-lead): remove claude.yml — replaced by dev-lead.yml (#176)
don-petry May 16, 2026
446d6f2
feat: implement issue #162 — Compliance: codeowners-no-catchall (#182)
don-petry May 20, 2026
19c0cd5
feat: implement issue #175 — Compliance: non-stub-pr-review-mention.y…
don-petry May 21, 2026
48e93be
feat: implement issue #161 — Compliance: codeowners-org-leads-not-fir…
don-petry May 21, 2026
c8a093e
feat: implement issue #86 — Compliance: unpinned-actions-claude.yml (…
don-petry May 21, 2026
d5b9167
feat: implement issue #217 — Compliance: codeowners-org-leads-not-fir…
don-petry Jun 20, 2026
640dd95
chore: major-scope repin self-consumer stubs [#657 F5] (#359)
don-petry Jul 14, 2026
a1c409f
feat: implement issue #372 — Compliance: stub-surface-drift-pr-auto-r…
don-petry Jul 20, 2026
721b1f5
feat: implement issue #369 — Compliance: dev-lead-stub-pin (#391)
don-petry Jul 20, 2026
04c55f0
feat: implement issue #370 — Compliance: dev-lead-stub-agent-ref (#395)
don-petry Jul 21, 2026
1829f41
chore: sync 2 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 21, 2026
a958df4
chore: sync 1 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 22, 2026
8da9fd2
chore: sync 2 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 22, 2026
f0d8f97
feat: implement issue #371 — Compliance: stub-surface-drift-feature-i…
don-petry Aug 2, 2026
2637301
Initial commit
don-petry Mar 21, 2026
75aaad6
Install BMad Method v6.2.0 with Claude Code integration
claude Mar 21, 2026
4efba8d
fix: configure CodeQL to scan Python only (#6)
don-petry Mar 24, 2026
51f507e
chore: enable SonarCloud code quality analysis (#10)
don-petry Mar 26, 2026
1bff081
chore: add ECC integration, TEA module, and slim CLAUDE.md
Mar 26, 2026
3c27228
Add Claude Code GitHub Action (#15)
don-petry Mar 27, 2026
1a612fb
fix: address OpenSSF Scorecard findings (#22)
don-petry Mar 28, 2026
786972d
chore(deps): bump github/codeql-action from 3.35.1 to 4.35.1 (#27)
dependabot[bot] Apr 1, 2026
aad3fcb
chore(deps): bump actions/checkout from 4.3.1 to 6.0.2 (#24)
dependabot[bot] Apr 1, 2026
dc4fa11
ci: skip Claude Code reviewer on Dependabot PRs (#28)
don-petry Apr 1, 2026
7d401c3
ci: move Dependabot exclusion to step-level in Claude workflow (#30)
don-petry Apr 1, 2026
1b76625
chore(deps): bump anthropics/claude-code-action from 1.0.80 to 1.0.82…
dependabot[bot] Apr 1, 2026
c6f0735
chore(deps): bump anthropics/claude-code-action from 1.0.83 to 1.0.88…
dependabot[bot] Apr 4, 2026
87dd0de
chore: enable Claude issue trigger per org CI standard (#48)
don-petry Apr 5, 2026
e23bf05
fix: add checkout step to Claude workflow for issue-triggered mode (#49)
don-petry Apr 5, 2026
405792b
feat: split Claude workflow into interactive + issue automation jobs …
don-petry Apr 6, 2026
9bc3d20
feat: switch to org-level reusable Claude Code workflow (#62)
don-petry Apr 6, 2026
59f532e
chore: add CODEOWNERS file for code review enforcement
github-actions[bot] Apr 6, 2026
3f0a959
fix: rename codeql workflow and add javascript-typescript + actions m…
don-petry Apr 8, 2026
0f00bae
chore(workflows): adopt centralized stubs from petry-projects/.github…
don-petry Apr 8, 2026
20c4a82
fix: correct reusable workflow path (remove duplicate .github/) (#135)
don-petry Apr 21, 2026
2c29df1
Revert "fix: correct reusable workflow path (remove duplicate .github…
Apr 21, 2026
62398e9
ci: add auto-rebase workflow and check_run trigger to claude.yml
don-petry Apr 21, 2026
8343053
chore(ci): remove stray codeql.yml workflow (#115)
don-petry Apr 26, 2026
51d9743
chore(security): remove drift codeql.yml, enable GitHub-managed defau…
don-petry Apr 26, 2026
810bc34
fix(ci): pin agent-shield reusable workflow to SHA (#126)
don-petry Apr 26, 2026
afe3710
chore: add bot accounts to CODEOWNERS for auto-merge support
don-petry May 3, 2026
bd9d53b
chore: standardize CODEOWNERS on @petry-projects/org-leads (#160)
don-petry May 4, 2026
af5a501
Story 1.1: Initialize Electron Forge project with React, Rive, and to…
Mar 24, 2026
a8ac5dc
Epic 2: Implement API key setup, profile, avatar, workspace, and laun…
Mar 24, 2026
0bab427
Sprint 2: Epic 3 (Avatar & Voice) + Epic 4 (Agent Backbone)
Mar 24, 2026
77e4478
Sprint 3: Epics 5-9 — Layout, display modes, errors, sessions, audit
Mar 24, 2026
5d67285
Sprint 4: Epics 10-12 — Preferences, writeback, CI/CD
Mar 24, 2026
cc9b5d9
Sprint 5: Infrastructure adapters, IPC wiring, setup routing
Mar 25, 2026
c8727f2
Fix CI: exclude BMAD artifacts from Prettier check
Mar 25, 2026
ec88afd
Sprint 6: SDK backend, composition root, layout shell, remaining UI
Mar 25, 2026
40f287d
Finalize: Stryker config, sprint status → all 12 epics done
Mar 25, 2026
96d6cbc
Wire real native packages + fix Windows CI (CRLF line endings)
Mar 25, 2026
41e1111
AvatarCanvas component, Playwright E2E tests, Rive asset setup
Mar 25, 2026
071afad
Fix Vite scanning _bmad HTML files as entry points
Mar 25, 2026
18bf964
Fix runtime: install electron-squirrel-startup, clean up main.ts
Mar 25, 2026
c69abe5
fix: address PR review comments and SonarCloud exclusions
Mar 26, 2026
6dccf3b
test: add E2E setup flow, accessibility, and integration tests
Mar 26, 2026
32ee4a8
fix: resolve remaining CI issues
Mar 26, 2026
818d8d7
fix: wire STT/TTS, folder picker, and avatar visibility (UAT bugs)
Mar 26, 2026
0343ffb
fix: UAT round 2 — folder picker, live voice mode, TTS voice, BMAD an…
Mar 26, 2026
b2b26db
fix: externalize native modules in Vite main config
Mar 26, 2026
57a0c57
fix: resolve lint errors, format issues, and harden CI pipeline
Mar 29, 2026
c37a7f0
fix: coverage exclusions for type-only files, test support, and E2E s…
Mar 29, 2026
1909d7d
docs: add Epic 13 (Structured Question Input) and Epic 14 (Native STT…
Mar 30, 2026
7a43b67
feat: add Structured Question Input (Epic 13, FR57-FR59)
Mar 30, 2026
f138d92
feat: replace Web Speech API with sherpa-onnx native STT (Epic 14, FR…
Mar 30, 2026
2440d7b
fix: pass workspace path to agent message router for session context
Mar 30, 2026
a58c6ca
fix: exclude native STT and IPC audio files from coverage thresholds
Mar 30, 2026
7a299c7
fix: resolve CI failures in mutation and E2E jobs
Mar 30, 2026
4ed77a9
fix: exclude build output from Stryker sandbox to prevent symlink error
Mar 30, 2026
61ff3ee
fix: include original questions in aggregated message + handle 307 re…
Mar 30, 2026
102efbc
fix: parse dash-list questions with bold section headers
Mar 30, 2026
bfb41fc
fix: surface rate limits and improve SDK debug logging
Mar 30, 2026
5d63b21
fix: ensure Stop button visible during all agent activity (FR37)
Mar 30, 2026
f1bd20a
fix: complete SDK response handling and UAT bug fixes (#29)
don-petry Apr 16, 2026
0be22e9
test: add keyboard navigation tests for ActionPanel listbox
github-actions[bot] May 6, 2026
79034a5
chore(dev-lead): remove claude.yml — replaced by dev-lead.yml (#176)
don-petry May 16, 2026
f4e82fd
feat: implement issue #162 — Compliance: codeowners-no-catchall (#182)
don-petry May 20, 2026
7cacc12
feat: implement issue #175 — Compliance: non-stub-pr-review-mention.y…
don-petry May 21, 2026
35e8652
feat: implement issue #161 — Compliance: codeowners-org-leads-not-fir…
don-petry May 21, 2026
682102b
fix: make copilot setup workflow docs-only for current TalkTerm main
don-petry May 21, 2026
4e0a718
feat: implement issue #86 — Compliance: unpinned-actions-claude.yml (…
don-petry May 21, 2026
1b513a5
feat: implement issue #198 — [Fleet Monitor] petry-projects/TalkTerm …
don-petry May 21, 2026
9d7804e
CI Failure Analyst: Add automated diagnostics (#214)
don-petry May 23, 2026
6610450
trigger: dev-lead workflow execution via synchronize event
claude Jun 4, 2026
99de7cc
feat: implement issue #217 — Compliance: codeowners-org-leads-not-fir…
don-petry Jun 20, 2026
1a15a58
feat: implement issue #204 — [Fleet Monitor] petry-projects/TalkTerm …
don-petry Jun 20, 2026
c135436
feat: implement issue #285 — [Fleet Monitor] petry-projects/TalkTerm …
don-petry Jun 23, 2026
56014e6
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
00a761b
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
f36e2aa
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
7bc6ad6
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
25156fa
fix(bot): address bot feedback [skip ci-relay]
donpetry-bot Aug 18, 2026
a057fee
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
77084d4
test: add branch coverage tests to reach 90% threshold
donpetry-bot Aug 18, 2026
106f472
fix(reliability): add null checks to prevent potential runtime errors
donpetry-bot Aug 18, 2026
d3196a8
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
f33fa35
fix(reliability): add null check for dataTransfer in FileDropZone
donpetry-bot Aug 18, 2026
bc33ab4
fix(reliability): add missing promise error handlers
donpetry-bot Aug 18, 2026
5510b0e
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
cc9cb17
fix(reliability): restore null check for dataTransfer in FileDropZone
donpetry-bot Aug 18, 2026
0bc48a5
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
c94edba
fix(reliability): handle errors in promise catch blocks and add exhau…
donpetry-bot Aug 18, 2026
8191be5
fix(reliability): add error handling to sherpa-onnx audio processing
donpetry-bot Aug 18, 2026
d1653d5
fix(reliability): add error handling to speech IPC handlers
donpetry-bot Aug 18, 2026
cf956d8
fix(reliability): add error handling for JSON parsing in audit reposi…
donpetry-bot Aug 18, 2026
59cfda3
fix(reliability): add error handling to API key decryption
donpetry-bot Aug 18, 2026
fa6d7c3
fix(reliability): add exhaustiveness checks to reducer switch statements
donpetry-bot Aug 18, 2026
7d2362c
fix(reliability): add exhaustiveness check to avatarReducer
donpetry-bot Aug 18, 2026
d62b391
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 18, 2026
a99e1a2
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 19, 2026
f757166
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 19, 2026
5f9bb29
fix: eliminate duplicate null/undefined checks (S1764)
donpetry-bot Aug 19, 2026
7d922cd
fix: improve code reliability and eliminate dead code
donpetry-bot Aug 19, 2026
2bb35a7
fix: handle undefined in bmadContext template literal
donpetry-bot Aug 19, 2026
35027b2
fix(bot): address bot feedback [skip ci-relay]
donpetry-bot Aug 19, 2026
51f2c94
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 19, 2026
3a62df0
fix: add exhaustiveness checks to switch statements for reliability
donpetry-bot Aug 19, 2026
5fa4a2a
fix(bot): address bot feedback [skip ci-relay]
donpetry-bot Aug 19, 2026
4d78adf
fix(lint): use loose null check to exclude undefined from template li…
donpetry-bot Aug 19, 2026
63e7588
fix(reliability): eliminate redundant boolean comparisons (SonarQube …
donpetry-bot Aug 19, 2026
5cde794
fix(lint): use strict equality for nullable boolean expressions (S1940)
donpetry-bot Aug 19, 2026
af22d65
fix(reliability): move state updates from render to useEffect in App …
donpetry-bot Aug 19, 2026
e608816
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 19, 2026
d9c34f8
fix(reliability): address SonarQube reliability issues
donpetry-bot Aug 19, 2026
2c99c44
fix(reliability): implement missing IPC handlers and add input valida…
donpetry-bot Aug 19, 2026
f3329b0
fix(reliability): add input validation and fix useEffect dependency i…
donpetry-bot Aug 19, 2026
c12eced
fix(reliability): add input validation and define missing IPC_CHANNEL…
donpetry-bot Aug 19, 2026
e794961
fix(reliability): address SonarQube quality gate issues
donpetry-bot Aug 19, 2026
9d2d521
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 21, 2026
36347fa
fix: add timeout-minutes to quality, mutation, and e2e CI jobs
donpetry-bot Sep 1, 2026
d33ecab
fix: bump browserslist and postcss-selector-parser to fix npm audit h…
donpetry-bot Sep 1, 2026
0abc47d
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Sep 4, 2026
cab7f08
fix(bot): address bot feedback [skip ci-relay]
donpetry-bot Sep 4, 2026
f9c59e5
fix: address SonarCloud quality gate issues and E2E build config
donpetry-bot Sep 5, 2026
86d8b4a
test: add comprehensive tests for speech IPC integration
donpetry-bot Sep 5, 2026
3a55d4f
fix: resolve TypeScript errors blocking CI quality gate
donpetry-bot Sep 5, 2026
b8ee87d
fix: resolve TypeScript and ESLint errors in IPC test files
donpetry-bot Sep 5, 2026
76ef94d
fix(ci): auto-fix for SonarCloud Code Analysis [skip ci-relay]
donpetry-bot Sep 6, 2026
24e69c4
fix: resolve TypeScript and E2E sandbox issues
donpetry-bot Sep 6, 2026
fdb171d
test(security): add missing decryption error handling test
donpetry-bot Sep 7, 2026
0b2168e
fix(bot): address bot feedback [skip ci-relay]
donpetry-bot Sep 7, 2026
a243bd0
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Sep 7, 2026
c949015
chore: rename petry-projects references to combsmith
don-petry Oct 14, 2026
aae9ff3
chore: limit the org-rename rewrite to the files this PR changes
don-petry Oct 14, 2026
f825eca
chore: limit the org-rename rewrite to the files this PR changes
don-petry Oct 14, 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
11 changes: 11 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# TalkTerm Environment Configuration
# Copy this file to .env and fill in your values

# Required for E2E tests (Claude Agent SDK)
ANTHROPIC_API_KEY=

# Test environment (local | ci)
TEST_ENV=local

# Electron user data directory override (for test isolation)
# ELECTRON_USER_DATA_DIR=
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Normalize line endings to LF on all platforms
* text=auto eol=lf
20 changes: 10 additions & 10 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: "weekly"
interval: 'weekly'
open-pull-requests-limit: 0
labels:
- "security"
- "dependencies"
- 'security'
- 'dependencies'

- package-ecosystem: "github-actions"
directory: "/"
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: "weekly"
interval: 'weekly'
open-pull-requests-limit: 10
labels:
- "security"
- "dependencies"
- 'security'
- 'dependencies'
18 changes: 9 additions & 9 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
# Standard label set for petry-projects repositories.
# Standard label set for combsmith repositories.
# Matches the required labels defined in:
# https://github.com/petry-projects/.github/blob/main/standards/github-settings.md#labels--standard-set
# https://github.com/combsmith/.github/blob/main/standards/github-settings.md#labels--standard-set

- name: security
color: "d93f0b"
color: 'd93f0b'
description: Security-related PRs and issues

- name: dependencies
color: "0075ca"
color: '0075ca'
description: Dependency update PRs

- name: scorecard
color: "d93f0b"
color: 'd93f0b'
description: OpenSSF Scorecard findings (auto-created)

- name: bug
color: "d73a4a"
color: 'd73a4a'
description: Bug reports

- name: enhancement
color: "a2eeef"
color: 'a2eeef'
description: Feature requests

- name: documentation
color: "0075ca"
color: '0075ca'
description: Documentation changes

- name: in-progress
color: "fbca04"
color: 'fbca04'
description: An agent is actively working this issue
16 changes: 8 additions & 8 deletions .github/workflows/add-to-project.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ─────────────────────────────────────────────────────────────────────────────
# SOURCE OF TRUTH: petry-projects/.github/standards/workflows/add-to-project.yml
# Standard: petry-projects/.github/standards/ci-standards.md
# Reusable: petry-projects/.github/.github/workflows/add-to-project-reusable.yml
# SOURCE OF TRUTH: combsmith/.github/standards/workflows/add-to-project.yml
# Standard: combsmith/.github/standards/ci-standards.md
# Reusable: combsmith/.github/.github/workflows/add-to-project-reusable.yml
#
# AGENTS — READ BEFORE EDITING:
# • This file is a THIN CALLER STUB. All noise-gate / reconcile logic lives
Expand All @@ -18,15 +18,15 @@
#
# Track this repo's issues (all, un-gated) and dev-lead-labeled PRs on the
# org-level Initiatives project
# (https://github.com/orgs/petry-projects/projects/1). Ideas live in
# (https://github.com/orgs/combsmith/projects/1). Ideas live in
# Discussions and are not tracked here.
#
# To adopt: copy this file to .github/workflows/add-to-project.yml in your
# repo. Requires the org secrets INITIATIVES_APP_ID and
# INITIATIVES_APP_PRIVATE_KEY (the petry-projects-planner GitHub App), and the
# app installation must include this repo. See petry-projects/.github#387.
# app installation must include this repo. See combsmith/.github#387.
#
# Tracking: petry-projects/.github#387, #415
# Tracking: combsmith/.github#387, #415
name: Auto-add to Initiatives project

on:
Expand All @@ -47,10 +47,10 @@ jobs:
add-to-project:
permissions:
contents: read
uses: petry-projects/.github/.github/workflows/add-to-project-reusable.yml@add-to-project/v1-stable # NOSONAR(githubactions:S7637) first-party channel ref
uses: combsmith/.github/.github/workflows/add-to-project-reusable.yml@add-to-project/v1-stable # NOSONAR(githubactions:S7637) first-party channel ref
with:
project_id: PVT_kwDOD2inqs4BZq3-
project_url: https://github.com/orgs/petry-projects/projects/1
project_url: https://github.com/orgs/combsmith/projects/1
agent_ref: add-to-project/v1-stable
# Pass only the secrets the reusable declares (least privilege; avoids
# `secrets: inherit` handing the reusable every org secret).
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/agent-shield.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ─────────────────────────────────────────────────────────────────────────────
# SOURCE OF TRUTH: petry-projects/.github/standards/workflows/agent-shield.yml
# Standard: petry-projects/.github/standards/agent-standards.md
# Reusable: petry-projects/.github/.github/workflows/agent-shield-reusable.yml
# SOURCE OF TRUTH: combsmith/.github/standards/workflows/agent-shield.yml
# Standard: combsmith/.github/standards/agent-standards.md
# Reusable: combsmith/.github/.github/workflows/agent-shield-reusable.yml
#
# AGENTS — READ BEFORE EDITING:
# • This file is a THIN CALLER STUB. The AgentShield CLI scan and the
Expand Down Expand Up @@ -30,4 +30,4 @@ permissions:

jobs:
agent-shield:
uses: petry-projects/.github/.github/workflows/agent-shield-reusable.yml@agent-shield/v2-ring1 # NOSONAR(githubactions:S7637) first-party channel ref
uses: combsmith/.github/.github/workflows/agent-shield-reusable.yml@agent-shield/v2-ring1 # NOSONAR(githubactions:S7637) first-party channel ref
12 changes: 6 additions & 6 deletions .github/workflows/auto-rebase.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ─────────────────────────────────────────────────────────────────────────────
# SOURCE OF TRUTH: petry-projects/.github/standards/workflows/auto-rebase.yml
# Standard: petry-projects/.github/standards/ci-standards.md
# Reusable: petry-projects/.github/.github/workflows/auto-rebase-reusable.yml
# SOURCE OF TRUTH: combsmith/.github/standards/workflows/auto-rebase.yml
# Standard: combsmith/.github/standards/ci-standards.md
# Reusable: combsmith/.github/.github/workflows/auto-rebase-reusable.yml
#
# AGENTS — READ BEFORE EDITING:
# • This file is a THIN CALLER STUB. All branch-update logic lives in the
Expand Down Expand Up @@ -48,7 +48,7 @@ permissions: {}
jobs:
auto-rebase:
permissions:
contents: write # update-branch via GITHUB_TOKEN (may touch .github/workflows/)
contents: write # update-branch via GITHUB_TOKEN (may touch .github/workflows/)
pull-requests: write # post comments on PRs
uses: petry-projects/.github/.github/workflows/auto-rebase-reusable.yml@auto-rebase/v2-ring1 # NOSONAR(githubactions:S7637) first-party channel ref
secrets: inherit # NOSONAR(githubactions:S7635) first-party trusted reusable
uses: combsmith/.github/.github/workflows/auto-rebase-reusable.yml@auto-rebase/v2-ring1 # NOSONAR(githubactions:S7637) first-party channel ref
secrets: inherit # NOSONAR(githubactions:S7635) first-party trusted reusable
14 changes: 7 additions & 7 deletions .github/workflows/ci-failure-analyst.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# CI check failure. Identifies the failing step, classifies the root cause,
# and suggests a concrete fix action.
#
# All analysis logic lives in petry-projects/.github-private — this stub is
# All analysis logic lives in combsmith/.github-private — this stub is
# intentionally minimal and never needs modification after initial deployment.
#
# Requirements:
Expand All @@ -15,24 +15,24 @@
# dev-lead — diagnoses and attempts to fix CI failures (writes commits)
# ci-failure-analyst — diagnoses only, always posts a fast diagnostic comment
#
# Docs: https://github.com/petry-projects/.github-private/blob/main/docs/aw/ci-failure-analyst.md
# Docs: https://github.com/combsmith/.github-private/blob/main/docs/aw/ci-failure-analyst.md
# ─────────────────────────────────────────────────────────────────────────────

name: "CI Failure Analyst"
name: 'CI Failure Analyst'

on:
check_run:
types: [completed]

permissions:
pull-requests: write
issues: write # post/read PR comments via the Issues comments API
issues: write # post/read PR comments via the Issues comments API
actions: read
contents: read
checks: read

concurrency:
group: "ci-failure-analyst-${{ github.event.check_run.head_sha }}"
group: 'ci-failure-analyst-${{ github.event.check_run.head_sha }}'
cancel-in-progress: false

jobs:
Expand All @@ -41,6 +41,6 @@ jobs:
if: >-
github.event.check_run.conclusion == 'failure' &&
!startsWith(github.event.check_run.name, 'CI Failure Analyst')
uses: petry-projects/.github-private/.github/workflows/ci-failure-analyst-reusable.yml@ci-failure-analyst/v1-stable # NOSONAR(githubactions:S7637) first-party channel ref
uses: combsmith/.github-private/.github/workflows/ci-failure-analyst-reusable.yml@ci-failure-analyst/v1-stable # NOSONAR(githubactions:S7637) first-party channel ref
secrets:
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
74 changes: 71 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ─────────────────────────────────────────────────────────────────────────────
# Standard: petry-projects/.github/standards/push-protection.md#layer-3
# Standard: combsmith/.github/standards/push-protection.md#layer-3
#
# Primary CI workflow. Runs on every push to main and every pull request.
# The `secret-scan` job is a required check — it must stay in this file and
Expand Down Expand Up @@ -33,6 +33,74 @@ concurrency:
cancel-in-progress: true

jobs:
quality:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
permissions:
contents: read
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 24
cache: npm
- run: npm ci --legacy-peer-deps --ignore-scripts
- run: npm rebuild better-sqlite3
- run: npm run typecheck
- run: npm run lint
- run: npm run format:check
- run: npm test
- run: npm run test:coverage

mutation:
needs: quality
runs-on: ubuntu-latest
timeout-minutes: 60
permissions:
contents: read
continue-on-error: true
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 24
cache: npm
- run: npm ci --legacy-peer-deps --ignore-scripts
- run: npm rebuild better-sqlite3
- run: npm run test:mutate

e2e:
needs: quality
runs-on: macos-latest
timeout-minutes: 30
permissions:
contents: read
continue-on-error: true
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 24
cache: npm
- run: npm ci --legacy-peer-deps # NOSONAR - Electron binary download and native module compilation require lifecycle scripts
- run: npm run make
- run: npm run playwright:install
- run: npm run test:e2e:electron
env:
CI: 'true'
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
if: failure()
with:
name: e2e-artifacts
path: |
test-results/
playwright-report/
retention-days: 30

secret-scan:
name: Secret scan (gitleaks)
runs-on: ubuntu-latest
Expand All @@ -47,7 +115,7 @@ jobs:
steps:
- name: Checkout (full history)
# Pin to SHA per Action Pinning Policy
# (petry-projects/.github/standards/ci-standards.md#action-pinning-policy).
# (combsmith/.github/standards/ci-standards.md#action-pinning-policy).
# Refresh: gh api repos/actions/checkout/git/refs/tags/v6.0.2 --jq '.object.sha'
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
Expand All @@ -61,7 +129,7 @@ jobs:
# step below handles redaction for the enforcement scan.
- name: Run gitleaks (action)
# Pinned to SHA per Action Pinning Policy
# (petry-projects/.github/standards/ci-standards.md#action-pinning-policy).
# (combsmith/.github/standards/ci-standards.md#action-pinning-policy).
# Refresh: gh api repos/gitleaks/gitleaks-action/git/refs/tags/v3.0.0 --jq '.object.sha'
uses: gitleaks/gitleaks-action@e0c47f4f8be36e29cdc102c57e68cb5cbf0e8d1e # v3.0.0
continue-on-error: true
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ─────────────────────────────────────────────────────────────────────────────
# SOURCE OF TRUTH: petry-projects/.github/standards/workflows/copilot-setup-steps.yml
# Standard: petry-projects/.github/standards/ci-standards.md#11-copilot-cloud-agent-setup
# SOURCE OF TRUTH: combsmith/.github/standards/workflows/copilot-setup-steps.yml
# Standard: combsmith/.github/standards/ci-standards.md#11-copilot-cloud-agent-setup
#
# ADOPTING THIS WORKFLOW:
# 1. Copy this file to .github/workflows/copilot-setup-steps.yml in your repo.
Expand Down Expand Up @@ -35,7 +35,7 @@
# STACK: Node.js / npm (TypeScript + Electron desktop app)
# ─────────────────────────────────────────────────────────────────────────────

name: "Copilot Setup Steps"
name: 'Copilot Setup Steps'

on:
workflow_dispatch:
Expand All @@ -62,19 +62,19 @@ jobs:
steps:
- name: Checkout code
# Pin to SHA per Action Pinning Policy
# (petry-projects/.github/standards/ci-standards.md#action-pinning-policy).
# (combsmith/.github/standards/ci-standards.md#action-pinning-policy).
# Refresh: gh api repos/actions/checkout/git/refs/tags/v6.0.2 --jq '.object.sha'
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Set up Node.js
# Pin to SHA per Action Pinning Policy
# (petry-projects/.github/standards/ci-standards.md#action-pinning-policy).
# (combsmith/.github/standards/ci-standards.md#action-pinning-policy).
# Refresh: gh api repos/actions/setup-node/git/refs/tags/v6.4.0 --jq '.object.sha'
# Note: cache: "npm" is intentionally omitted — it requires package-lock.json
# and would fail until that file is committed. Re-enable once the npm project is initialised.
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "24"
node-version: '24'

- name: Install Node.js dependencies
# npm ci requires a package-lock.json — skip gracefully until one is committed.
Expand All @@ -83,7 +83,7 @@ jobs:

- name: Verify environment
run: |
echo "=== petry-projects Copilot cloud agent environment ==="
echo "=== combsmith Copilot cloud agent environment ==="
echo "Repository : ${{ github.repository }}"
echo "Ref : ${{ github.ref }}"
echo "Runner : ${{ runner.os }} / ${{ runner.arch }}"
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/dependabot-automerge.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ─────────────────────────────────────────────────────────────────────────────
# SOURCE OF TRUTH: petry-projects/.github/standards/workflows/dependabot-automerge.yml
# Standard: petry-projects/.github/standards/dependabot-policy.md
# Reusable: petry-projects/.github/.github/workflows/dependabot-automerge-reusable.yml
# SOURCE OF TRUTH: combsmith/.github/standards/workflows/dependabot-automerge.yml
# Standard: combsmith/.github/standards/dependabot-policy.md
# Reusable: combsmith/.github/.github/workflows/dependabot-automerge-reusable.yml
#
# AGENTS — READ BEFORE EDITING:
# • This file is a THIN CALLER STUB. All eligibility logic and the GitHub
Expand Down Expand Up @@ -35,5 +35,5 @@ jobs:
permissions:
contents: read
pull-requests: read
uses: petry-projects/.github/.github/workflows/dependabot-automerge-reusable.yml@dependabot-automerge/v2-ring1 # NOSONAR(githubactions:S7637) first-party channel ref
secrets: inherit # NOSONAR(githubactions:S7635) first-party trusted reusable
uses: combsmith/.github/.github/workflows/dependabot-automerge-reusable.yml@dependabot-automerge/v2-ring1 # NOSONAR(githubactions:S7637) first-party channel ref
secrets: inherit # NOSONAR(githubactions:S7635) first-party trusted reusable
Loading
Loading