microsoft/copilot-brag-sheet v1.2.0
microsoft/copilot-brag-sheet
Captured source
source ↗published May 26, 2026seen 6dcaptured 6dhttp 200method plain
v1.2.0
Repository: microsoft/copilot-brag-sheet
Tag: v1.2.0
Published: 2026-05-26T17:32:10Z
Prerelease: no
Release notes:
Added
- Agency plugin manifests —
agency.json(governance manifest),.mcp.json(standalone MCP config), andhooks/hooks.json(PostToolUse hook declaration) enable installation viaagency plugin install. The PostToolUse hook classifies tool calls usinglib/heuristics.mjsand returns classification data to the host. Phase 1: classification only; session persistence is deferred to Phase 2. - `hooks/post-tool-use.mjs` — Agency PostToolUse hook script. Reads JSON from stdin, classifies file edits / PR creation / git actions, writes JSON response to stdout. Stateless subprocess — each invocation is independent.
Changed
- Extracted `lib/heuristics.mjs` — tool classification sets, extraction helpers (
extractPrInfo,detectShellGitAction), brag keyword detection (isBragRequest), and compositeclassifyToolUse()are now importable from any entry point.extension.mjsimports from this module instead of defining them inline. - Extracted `lib/operations.mjs` — shared
saveBragEntry,reviewBragEntries, andgenerateWorkLogwith{ ok: true/false }discriminated returns. Bothextension.mjsandmcp-server.mjsdelegate to these instead of duplicating validate→create→persist→backup logic. - Moved `atomicWriteText` to `lib/storage.mjs` alongside
atomicWriteJSON. Previously duplicated in bothextension.mjsandmcp-server.mjs. - `isBragRequest` no longer false-triggers on "bragging" / "braggart" — the
\bword boundary already prevented matching; the redundant exclude regex that caused false negatives on mixed prompts was removed. - Whitespace-only summaries are now consistently rejected across both Copilot CLI and MCP surfaces. Previously the MCP surface accepted
" "through Zod's.min(1).
Fixed
- git config fallback null guard —
extension.mjsnow applies the same?? { enabled: false, push: false }guard asmcp-server.mjs, preventing a potential NPE whenconfig.gitis undefined. - Empty session summaries in work-log —
formatSessionRownow falls back totaskDescription(captured from the user's first prompt) whensummaryis absent. Previously sessions without a host-providedfinalMessagerendered as blank rows in the session activity log.
Notability
notability 3.0/10Routine release of a minor tool update.