Skip to content

Preserve harness authors across all item mutations - #695

Merged
unbraind merged 1 commit into
mainfrom
fix/universal-author-mutation-parity
Jul 25, 2026
Merged

unbraind merged 1 commit into
mainfrom
fix/universal-author-mutation-parity

Conversation

@unbraind

@unbraind unbraind commented Jul 25, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • route pm update and pm close through the shared harness-aware SDK author resolver
  • prove mutation parity with direct command regression coverage and keep repository coverage at 100/100/100/100
  • acknowledge the pre-fix unknown-author history events and preserve the complete SDK/CLI delivery closeout
  • regenerate the changelog with pm-changelog 2026.7.24

pm lineage

Verification

  • node scripts/run-tests.mjs coverage — 6,291 tests; 100% statements, branches, functions, lines
  • pnpm lint — ESLint, duplication, static quality, docstrings, package boundaries, token surfaces
  • pnpm audit --audit-level high — no known vulnerabilities
  • pnpm security:scan — no credential-like secrets
  • installed-package temporary-directory update/close acceptance with automatic Codex attribution
  • pm health --check-only --check-telemetry — healthy, zero actionable unknown-author events

Summary by cubic

Routes pm update and pm close through the shared harness-aware author resolver to preserve detected authors across all mutations. Also acknowledges pre-fix unknown-author events and regenerates the changelog with pm-changelog.

  • Bug Fixes
    • Unified author resolution by using SDK resolveAuthor in both commands; removed local logic to keep SDK/CLI behavior consistent.
    • Added end-to-end tests covering update/close attribution; verified mutation parity and kept coverage at 100%.

Written for commit 547e1bc. Summary will update on new commits.

Review in cubic

Route update and close through the shared harness-aware author resolver, cover both mutation paths end to end, acknowledge the pre-fix unknown history events, and record the completed SDK/CLI delivery evidence in pm.
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@unbraind

Copy link
Copy Markdown
Owner Author

@greptileai review

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @unbraind, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@unbraind

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 25, 2026 •

Copy link
Copy Markdown
✅ Action performed

Full review finished.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 59 minutes.

@coderabbitai

coderabbitai Bot commented Jul 25, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@unbraind, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 55 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 07464b58-4b2d-4d42-92b6-90b92b572122

📥 Commits

Reviewing files that changed from the base of the PR and between 3a0c570 and 547e1bc.

📒 Files selected for processing (32)
  • .agents/pm/chores/pm-zqpnte.toon
  • .agents/pm/extensions/.managed-extensions.json
  • .agents/pm/features/pm-z9x1r2.toon
  • .agents/pm/history/_workspace.jsonl
  • .agents/pm/history/pm-1exil1.jsonl
  • .agents/pm/history/pm-1uul.jsonl
  • .agents/pm/history/pm-5q81jq.jsonl
  • .agents/pm/history/pm-954h0o.jsonl
  • .agents/pm/history/pm-a24aqt.jsonl
  • .agents/pm/history/pm-a7m7.jsonl
  • .agents/pm/history/pm-e3g0h6.jsonl
  • .agents/pm/history/pm-f7ik.jsonl
  • .agents/pm/history/pm-j4ac9a.jsonl
  • .agents/pm/history/pm-oz8u.jsonl
  • .agents/pm/history/pm-s1w0sf.jsonl
  • .agents/pm/history/pm-z9x1r2.jsonl
  • .agents/pm/history/pm-zqpnte.jsonl
  • .agents/pm/issues/pm-1exil1.toon
  • .agents/pm/issues/pm-1uul.toon
  • .agents/pm/issues/pm-5q81jq.toon
  • .agents/pm/issues/pm-954h0o.toon
  • .agents/pm/issues/pm-a24aqt.toon
  • .agents/pm/issues/pm-a7m7.toon
  • .agents/pm/issues/pm-f7ik.toon
  • .agents/pm/issues/pm-j4ac9a.toon
  • .agents/pm/issues/pm-s1w0sf.toon
  • .agents/pm/tasks/pm-e3g0h6.toon
  • .agents/pm/tasks/pm-oz8u.toon
  • CHANGELOG.md
  • src/cli/commands/close.ts
  • src/cli/commands/update.ts
  • tests/unit/sdk/agent-runtime-primitives.spec.ts
📝 Walkthrough

Walkthrough

The PR centralizes CLI author resolution through the shared runtime primitive, adds regression coverage for harness attribution, records unknown-author acknowledgment activity, and updates related PM records and changelog entries with closure, resolution, release, and verification metadata.

Changes

Author provenance and closeout

Layer / File(s) Summary
Shared author resolution and regression coverage
src/cli/commands/close.ts, src/cli/commands/update.ts, tests/unit/sdk/agent-runtime-primitives.spec.ts
pm close and pm update use resolveAuthor; tests verify detected Codex attribution in update and close history entries.
Unknown-author acknowledgment evidence
.agents/pm/features/*, .agents/pm/chores/*, .agents/pm/history/_workspace.jsonl, .agents/pm/history/pm-z9x1r2.jsonl, .agents/pm/history/pm-zqpnte.jsonl
Feature and chore records document resolver parity, remediation evidence, acknowledgment execution, and non-actionable unknown-author health results.
PM closeout records and changelog
.agents/pm/issues/*, .agents/pm/tasks/*, .agents/pm/history/*, .agents/pm/extensions/.managed-extensions.json, CHANGELOG.md
Tracked records and history entries receive lifecycle, resolution, release, outcome, and merge metadata; the unreleased changelog is expanded.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CLI
  participant RuntimePrimitives
  participant History
  CLI->>RuntimePrimitives: resolve author from options, settings, and harness
  RuntimePrimitives-->>CLI: return author and author_source
  CLI->>History: write update or close event
  History-->>CLI: persist attribution metadata
Loading

Possibly related PRs

  • unbraind/pm-cli#565: Adds SDK/CLI author attribution detection and related health and validation reporting.
  • unbraind/pm-cli#668: Implements the SDK acknowledgment flow consumed by the recorded history:author-acknowledge event.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: preserving harness authors across update and close mutations.
Description check ✅ Passed The description is directly related to the author-resolver changes, regression coverage, acknowledgments, and changelog update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codspeed

codspeed Bot commented Jul 25, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 0.1%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 6 improved benchmarks
❌ 5 regressed benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
❌ decodeQueryCursor 114.3 µs 116.1 µs -1.55%
❌ encodeQueryCursor 101.2 µs 101.3 µs -0.14%
❌ build index (2000 docs x 80 words) 161.3 ms 161.3 ms -0.02%
❌ tokenizeAlphaNumeric 367.3 µs 367.3 µs 0%
❌ score query over 2000 docs 5.6 ms 5.6 ms 0%
⚡ createQueryFingerprint 517.1 µs 514.3 µs +0.55%
⚡ stableStringify (nested contract) 161.6 µs 161.5 µs +0.06%
⚡ jaccardSimilarity 153.4 µs 153.3 µs +0.03%
⚡ normalizeLowercaseWhitespace 135.9 µs 135.8 µs +0.02%
⚡ build index (200 docs x 40 words) 8.4 ms 8.4 ms +0.02%
⚡ tokenize + score query over 2000 docs 7.5 ms 7.5 ms +0.01%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing fix/universal-author-mutation-parity (547e1bc) with main (3a0c570)

Open in CodSpeed

@codecov

codecov Bot commented Jul 25, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.agents/pm/chores/pm-zqpnte.toon:
- Line 57: The canonical close reason in .agents/pm/chores/pm-zqpnte.toon:57
references the wrong PR; change PR `#693` to PR `#695`, then regenerate all derived
history and issue entries at .agents/pm/history/pm-zqpnte.jsonl:18,
.agents/pm/history/pm-1exil1.jsonl:8, .agents/pm/history/pm-1uul.jsonl:11,
.agents/pm/issues/pm-1uul.toon:36, .agents/pm/issues/pm-5q81jq.toon:28,
.agents/pm/issues/pm-954h0o.toon:33, .agents/pm/issues/pm-a24aqt.toon:50,
.agents/pm/issues/pm-a7m7.toon:35, and .agents/pm/issues/pm-f7ik.toon:36 so
every audit entry reflects PR `#695`.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: a921717a-f57b-4fe1-ac9a-e7a4097da237

📥 Commits

Reviewing files that changed from the base of the PR and between 3a0c570 and 547e1bc.

📒 Files selected for processing (32)
  • .agents/pm/chores/pm-zqpnte.toon
  • .agents/pm/extensions/.managed-extensions.json
  • .agents/pm/features/pm-z9x1r2.toon
  • .agents/pm/history/_workspace.jsonl
  • .agents/pm/history/pm-1exil1.jsonl
  • .agents/pm/history/pm-1uul.jsonl
  • .agents/pm/history/pm-5q81jq.jsonl
  • .agents/pm/history/pm-954h0o.jsonl
  • .agents/pm/history/pm-a24aqt.jsonl
  • .agents/pm/history/pm-a7m7.jsonl
  • .agents/pm/history/pm-e3g0h6.jsonl
  • .agents/pm/history/pm-f7ik.jsonl
  • .agents/pm/history/pm-j4ac9a.jsonl
  • .agents/pm/history/pm-oz8u.jsonl
  • .agents/pm/history/pm-s1w0sf.jsonl
  • .agents/pm/history/pm-z9x1r2.jsonl
  • .agents/pm/history/pm-zqpnte.jsonl
  • .agents/pm/issues/pm-1exil1.toon
  • .agents/pm/issues/pm-1uul.toon
  • .agents/pm/issues/pm-5q81jq.toon
  • .agents/pm/issues/pm-954h0o.toon
  • .agents/pm/issues/pm-a24aqt.toon
  • .agents/pm/issues/pm-a7m7.toon
  • .agents/pm/issues/pm-f7ik.toon
  • .agents/pm/issues/pm-j4ac9a.toon
  • .agents/pm/issues/pm-s1w0sf.toon
  • .agents/pm/tasks/pm-e3g0h6.toon
  • .agents/pm/tasks/pm-oz8u.toon
  • CHANGELOG.md
  • src/cli/commands/close.ts
  • src/cli/commands/update.ts
  • tests/unit/sdk/agent-runtime-primitives.spec.ts

Comment thread .agents/pm/chores/pm-zqpnte.toon Resolved
@unbraind

Copy link
Copy Markdown
Owner Author

Gemini Code Assist: acknowledged the sunset notice. No review findings were produced; the remaining configured reviewers and deterministic gates were evaluated.

@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit action response: acknowledged. The requested full review reached its included limit; the later review surface was still inspected independently.

@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit rate-limit/walkthrough comment: acknowledged. The walkthrough correctly identifies the shared resolver and regression coverage; the single separate inline assertion about PR lineage was verified and answered in-thread.

@unbraind

Copy link
Copy Markdown
Owner Author

CodSpeed report: reviewed. The reported 0.1% delta compares different runtime environments and the changed production paths are author selection, not benchmark hot paths; the benchmark workflow itself passed. Treating this as non-actionable measurement noise.

@unbraind

Copy link
Copy Markdown
Owner Author

Codecov report: acknowledged. All modified coverable lines are covered, consistent with the local and CI 100/100/100/100 coverage gates.

@unbraind

Copy link
Copy Markdown
Owner Author

Sourcery review: acknowledged the weekly diff-character quota response. It contains no code finding; all independent static, security, coverage, and platform checks are green.

@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit review summary: the one actionable item was checked against the live merge SHAs and answered inline. PR #693 is the correct historical implementation reference; PR #695 is the follow-up parity fix, so no history rewrite is warranted.

@unbraind

unbraind commented Aug 4, 2026

Copy link
Copy Markdown
Owner Author

Tracked in PM: pm-z9x1r2.

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