Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
57a83a3
Create README.md
don-petry Feb 1, 2026
fd30233
Create code.gs
don-petry Feb 1, 2026
92e7773
Create config.gs
don-petry Feb 1, 2026
146d3b3
Update README.md
don-petry Feb 1, 2026
5c5d598
Update README.md
don-petry Feb 1, 2026
caae972
enhanced Readme
don-petry Feb 1, 2026
a8ba7cc
ci: add CodeQL analysis workflow for PRs
don-petry Feb 2, 2026
e782b8a
feat(tests): add Jest tests, mocks, setup, and CI workflow
don-petry Feb 2, 2026
1209cf6
docs: add agents.md (canonical AGENTS.md guidance adapted)
don-petry Feb 2, 2026
d78778e
docs: normalize to AGENTS.md and add canonical guidance
don-petry Feb 2, 2026
66323a3
feat(calendar-to-sheets): add package implementation, tests, and README
don-petry Feb 2, 2026
3b52bf9
chore(calendar-to-sheets): add GAS wrapper (code.gs) and config (conf…
don-petry Feb 2, 2026
d6627a4
Move scripts into src/, update tests/README/jest config, regenerate c…
don-petry Feb 3, 2026
bf9f244
calendar-to-sheets: export GAS wrapper for testing; add test for sync…
don-petry Feb 3, 2026
87b75e7
Initial plan
Copilot Feb 3, 2026
896648a
Initial plan
Copilot Feb 3, 2026
22f2af1
Initial plan
Copilot Feb 3, 2026
b0fdbbe
Initial plan
Copilot Feb 3, 2026
e5fb56e
Initial plan
Copilot Feb 3, 2026
d61cbb1
Initial plan
Copilot Feb 3, 2026
f075695
Initial plan
Copilot Feb 4, 2026
40ba184
Handle missing or malformed config gracefully
Copilot Feb 4, 2026
c4b8857
Initial plan
Copilot Feb 4, 2026
d40cb9a
feat(codeql): upgrade CodeQL action versions to v3 for improved analysis
don-petry Feb 4, 2026
0926a70
feat(tests): add tests for full resync functionality and error handli…
don-petry Feb 8, 2026
7e10ce8
Initial plan
Copilot Feb 8, 2026
cf5fb4e
fix: remove empty lines after unused variable cleanup
Copilot Feb 8, 2026
8298e11
Initial plan
Copilot Feb 8, 2026
b78b9e3
Initial plan
Copilot Feb 8, 2026
6ab402c
Initial plan
Copilot Feb 8, 2026
3ef5773
Initial plan
Copilot Feb 8, 2026
8b11140
fix(calendar-to-sheets): improve regex to catch leading whitespace/co…
Copilot Feb 8, 2026
72840fb
test(calendar-to-sheets): cover ensureHeader path
don-petry Feb 8, 2026
2c76e91
Initial plan
Copilot Feb 8, 2026
0556a12
Issue #24 - Add document rebuild capability to gmail-to-drive-by-labe…
Copilot Feb 8, 2026
e4fe1fd
chore: add pre-commit config, commitlint, and husky hooks for code qu…
Copilot Mar 7, 2026
a4ebe6d
chore(deps): bump github/codeql-action from 3 to 4 (#41)
dependabot[bot] Mar 11, 2026
e9fff75
chore(deps): bump actions/checkout from 4 to 6 (#43)
dependabot[bot] Mar 11, 2026
0981455
docs(agents): add guidance to resolve PR review threads after address…
Mar 18, 2026
030c3d9
Add Claude Code GitHub Action (#81)
don-petry Mar 27, 2026
52e34aa
fix: address OpenSSF Scorecard findings (#91)
don-petry Mar 28, 2026
c2dd4e5
chore(deps): bump anthropics/claude-code-action from 1.0.80 to 1.0.82…
dependabot[bot] Apr 1, 2026
db355e7
ci: skip Claude Code reviewer on Dependabot PRs (#100)
don-petry Apr 1, 2026
5ddb0f2
ci: move Dependabot exclusion to step-level in Claude workflow (#101)
don-petry Apr 1, 2026
8116ffa
chore: enable Claude issue trigger per org CI standard (#119)
don-petry Apr 5, 2026
a420295
fix: add checkout step to Claude workflow for issue-triggered mode (#…
don-petry Apr 5, 2026
119bdd1
fix: add concurrency group to dependabot update workflow (#130)
don-petry Apr 6, 2026
46168d3
feat: split Claude workflow into interactive + issue automation jobs …
don-petry Apr 6, 2026
232e974
feat: switch to org-level reusable Claude Code workflow (#134)
don-petry Apr 6, 2026
bb998a6
chore: add CODEOWNERS file for code owner review enforcement
github-actions[bot] Apr 6, 2026
0dc05f8
chore(workflows): adopt centralized stubs from petry-projects/.github…
don-petry Apr 8, 2026
f2f41e0
ci: add codeql.yml with javascript-typescript and actions scanning (#…
don-petry Apr 8, 2026
9ea7a23
ci: add auto-rebase workflow and check_run trigger to claude.yml
don-petry Apr 21, 2026
0987a8f
chore: add bot accounts to CODEOWNERS for auto-merge support
don-petry May 3, 2026
d3a5555
chore(deps): bump github/codeql-action from 4.35.1 to 4.35.3 (#244)
dependabot[bot] May 4, 2026
c9b1d33
chore: standardize CODEOWNERS on @petry-projects/org-leads (#252)
don-petry May 4, 2026
d773010
chore(dev-lead): remove claude.yml — replaced by dev-lead.yml (#277)
don-petry May 16, 2026
0bebc4f
chore: ignore .dev-lead directory (#291)
don-petry May 20, 2026
42fe805
ci: remove drift codeql.yml and enable GitHub-managed default setup (…
don-petry May 21, 2026
2c791e5
chore(deps-dev): bump fast-uri from 3.1.1 to 3.1.2 in the npm_and_yar…
dependabot[bot] May 21, 2026
d332c5e
feat: implement issue #254 — Compliance: codeowners-org-leads-not-fir…
don-petry May 21, 2026
45b2511
feat: implement issue #258 — Compliance: check-suite-auto-trigger-347…
don-petry May 21, 2026
22e2d20
feat: implement issue #442 — SonarCloud modernization (1/3): src/ app…
donpetry-bot Jul 21, 2026
4757e1b
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Jul 21, 2026
388a40c
chore: sync 1 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 21, 2026
2a47597
chore(deps-dev): bump fast-uri from 3.1.2 to 3.1.4 in the npm_and_yar…
dependabot[bot] Jul 21, 2026
6dd0bb9
chore: sync 4 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Jul 23, 2026
67e7cd6
chore: sync 1 org-standard workflow stub(s) from petry-projects/.gith…
don-petry Aug 2, 2026
f0a4899
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 2, 2026
1140146
chore: dev-lead update (review-changes) [skip ci-relay]
donpetry-bot Aug 2, 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -402,3 +402,4 @@ test-results/
playwright-report/
# compliance-ci-trigger
# ci-trigger-298
.dev-lead/
11 changes: 11 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,17 @@ if (typeof module !== 'undefined' && module.exports) {

---

## Pull request reviews

- When addressing PR review comments, **always mark each resolved comment thread as Resolved** on GitHub after the fix is pushed. Use the GitHub GraphQL API via `gh api graphql` with the `resolveReviewThread` mutation:
```bash
gh api graphql -f query='mutation { resolveReviewThread(input: {threadId: "PRRT_..."}) { thread { id isResolved } } }'
```
Retrieve thread IDs first with a `reviewThreads` query on the pull request.
- Resolve all addressed threads in one pass after pushing the fix commit, not one at a time during implementation.

---

## Code style & commits

- ALWAYS run `npx prettier --write .` before committing — pre-commit hooks do not run in agent sessions, so formatting must be applied manually.
Expand Down
6 changes: 3 additions & 3 deletions src/calendar-to-briefing-doc/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ function formatConflictWarning(conflicts, formatTime) {
function groupEventsByDay(events, getDateKey) {
const map = new Map()
for (const item of events) {
const evt = item && item.event ? item.event : item
const evt = item?.event ?? item
const key = getDateKey(evt.getStartTime())
if (!map.has(key)) map.set(key, [])
map.get(key).push(item)
Expand Down Expand Up @@ -213,7 +213,7 @@ function formatBriefing(title, groupedEvents, formatTime) {
sections.push(dayLabel)

// Detect if items are tuples or plain events
const isTuple = items.length > 0 && items[0] && items[0].event
const isTuple = items.length > 0 && items[0]?.event
const tuples = isTuple
? items
: items.map((e) => ({ event: e, calendarName: null }))
Expand Down Expand Up @@ -266,7 +266,7 @@ function emailBriefing(gmailApp, recipients, subject, body) {
*/
function shouldRunNow(config, now, lastRunMs) {
const hour = now.getHours()
const scheduleHour = config.scheduleHour != null ? config.scheduleHour : 7
const scheduleHour = config.scheduleHour ?? 7

if (hour !== scheduleHour) return false

Expand Down
Loading
Loading