Skip to content

V next#115

Merged
fboucher merged 18 commits into
mainfrom
v-next
Apr 3, 2026
Merged

V next#115
fboucher merged 18 commits into
mainfrom
v-next

Conversation

@fboucher

@fboucher fboucher commented Apr 3, 2026

Copy link
Copy Markdown
Owner

This pull request adds and improves automation for squad-based workflows, including new GitHub Actions for squad heartbeat and issue assignment, enhancements to code coverage reporting, and updates to merge strategies for squad state files. The changes are primarily focused on supporting squad management, automation of triage and assignment, and better handling of code coverage data.

Squad workflow automation:

  • Added .github/workflows/squad-heartbeat.yml, a scheduled and event-driven workflow that uses a "Ralph" triage script to auto-label and comment on issues, and auto-assigns @copilot to squad:copilot issues if configured.
  • Added .github/workflows/squad-issue-assign.yml, which automatically assigns issues to squad members (or the coding agent) based on squad:{member} labels, posts assignment comments, and handles fallback logic if members are not found.

Code coverage improvements:

  • Updated .github/workflows/running-unit-tests.yml to install and use ReportGenerator for merging and deduplicating coverage reports, and adjusted the code coverage summary and artifact upload steps to use the merged output. [1] [2]

Squad state file merge strategies:

  • Updated .gitattributes to add union merge strategies for .squad/ state files (such as decisions, agent histories, and logs), ensuring append-only files merge cleanly in collaborative environments.

fboucher and others added 18 commits March 31, 2026 20:46
…vider fallback chain, PostEndpoints edge cases, domain model validation tests

Agent-Logs-Url: https://github.com/fboucher/NoteBookmark/sessions/a2d8380f-7fbb-4f1e-8bd2-02265de343eb

Co-authored-by: fboucher <2404846+fboucher@users.noreply.github.com>
Add missing tests for issues #102#106: Summary endpoints, AISettingsProvider fallback chain, PostEndpoints edge cases, domain model validation
- Post: test required fields, nullable states, default values
- PostL: test required fields, empty string support, boolean states
- Settings: test ContainsPlaceholder validation for prompts, required fields
- Summary: test required fields, nullable fields, string boolean values

Removed trivial property-only tests that don't catch regressions.
Added tests that document model constraints and validate business rules.

Closes #106

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- GET /api/posts/{id} non-existent ID → 404 (GetPost_WhenPostDoesNotExist_ReturnsNotFound)
- DELETE /api/posts/{id} non-existent ID → 404 (DeletePost_WhenPostDoesNotExist_ReturnsNotFound)
- GET /api/posts/ all-read scenario → read posts excluded from unread list
- GET /api/posts/read no-read scenario → returns empty list
- POST /api/posts/ duplicate RowKey → overwrites existing (upsert behavior)
- Fixed 5 pre-existing test failures: shared storage assertions and empty-ID routing edge cases

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

[Tests] Domain models: validation tests (#106)
Tags are stored as comma-separated strings (e.g. "ai, agent, skill") but
GetAllUniqueTags() was splitting on '.' so each full tag string landed in
the HashSet unsplit, causing repeated prefixes like "ai" in the output.

Also updates the existing test to use comma-separated tags (matching real
data) and adds a regression test for the exact duplication scenario from
the bug report.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ookmark.Domain

- Add ReportGenerator step to merge multiple cobertura.xml files
- Feed deduplicated summary to CodeCoverageSummary action
- Fixes duplicate NoteBookmark.Domain entries in coverage report (#113)
fix: deduplicate NoteBookmark.Domain in coverage report (#113)
@github-actions

github-actions Bot commented Apr 3, 2026

Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Health
NoteBookmark.AIServices 97% 64%
NoteBookmark.Api 91% 80%
NoteBookmark.Domain 85% 75%
NoteBookmark.ServiceDefaults 96% 75%
Summary 91% (780 / 859) 78% (175 / 225)

@fboucher
fboucher merged commit fd8abec into main Apr 3, 2026
3 checks passed
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.

2 participants