Skip to content

SDK relationship event platform and public VCS exemplar - #587

Merged
unbraind merged 7 commits into
mainfrom
feat/sdk-vcs-domain-event-platform
Jul 18, 2026
Merged

unbraind merged 7 commits into
mainfrom
feat/sdk-vcs-domain-event-platform

Conversation

@unbraind

@unbraind unbraind commented Jul 18, 2026 •

Copy link
Copy Markdown
Owner

Summary

This broad SDK/CLI platform PR makes extension-owned domain modeling substantially more capable and proves it with a first-party VCS implementation built on public SDK contracts.

  • adds extension-contributed relationship-kind registration, validation, capability attribution, composition, and native workspace graph assembly
  • adds bounded immutable relationship event streams and reducer-based projections for in-memory and durable stores
  • injects a host-bound SDK into extension command handlers while avoiding activation-queue re-entry
  • adds the @unbrained/pm-vcs exemplar: custom types, fields, lifecycle, relationship ontology, seven domain commands, hooks, time travel, durable projections, and crash-consistent merge reconciliation
  • carries SDK caller authorship into extension-owned durable events
  • documents the extension and SDK surfaces and records follow-up gaps

pm lineage

Validation

  • full repository: 308 test files / 5,893 tests
  • exact coverage: 100% statements, branches, functions, and lines
  • typecheck, ESLint, zero-clone/static quality, 100% docstrings, package boundaries, token budgets, docs/contracts, version sync, and secret scan
  • packed npx smoke: version 2026.7.18, all 13 packages
  • 88-command package-first dogfood
  • isolated packed-artifact VCS acceptance across fresh processes, including normal core create/get, doctor, and validation
  • pnpm audit: zero vulnerabilities
  • full pnpm release:gates: passed

Review history

  • Greptile run ffc25364-c837-48d8-8fd1-ce6f2540180e: five findings fixed
  • clean re-review: confidence 5/5, zero comments
  • release-gate run cc0177cd-e16c-4bf8-9a4e-8fa900447367: found the two-store partial-write risk
  • targeted crash-consistency re-review on b8b40b51: confidence 5/5, zero comments
  • final committed-head release gates: passed

The VCS merge protocol now reconciles either partial-write direction using deterministic event identity and fails closed on conflicting events; failure-injection tests cover ledger-first, item-first, and conflict states.


Summary by cubic

Adds extension-owned relationship kinds and deterministic relationship event streams with reducer-based projections, and ships a public VCS exemplar built entirely on the SDK. Unlocks non-PM domain modeling and delivers a reviewed merge workflow with crash-consistent reconciliation.

  • New Features

    • Register and validate relationship kinds with strict semantics; graph assembly uses extension ontologies.
    • Append-only relationship event log/store with bounded streaming and reducer projections; supports point-in-time reads.
    • Inject a host-bound SDK into extension command handlers; carries caller authorship.
    • New @unbrained/pm-vcs: custom types/fields, domain lifecycle, seven vcs commands, time travel, durable commits_to stream, merge policy via hook, and ref validation before changeset creation.
  • Bug Fixes

    • Crash-consistent merge reconciliation for partial writes and duplicate append races using deterministic event identity with idempotent retries and winner verification; preserves event-first recovery.
    • Legacy activation compatibility and graph registration fallbacks; strict relationship-kind validation; guaranteed test cleanup.

Written for commit c392182. Summary will update on new commits.

Review in cubic

unbraind added 5 commits July 18, 2026 09:19
Register extension-owned relationship ontologies across SDK, CLI, MCP graph assembly, policy contracts, and declarative composition. Add deterministic relationship event streaming/projection plus host-bound extension command services with reentrant-safe native SDK dispatch.

Ship the first-party pm-vcs beyond-PM exemplar with custom schema, lifecycle commands, reviewed merge policy, point-in-time history, durable graph projection, full docs, tracker evidence, generated changelog, and exact 100% repository coverage.
Carry SDK authors into extension-host clients, serialize independent VCS merge events without stale optimistic versions, preserve registered relationship payload schemas, and reject malformed registration containers. Document the intentional stream checkpoint boundary and record the complete pre-push Greptile findings in pm.
Make deterministic merge events recoverable across tracker-item and relationship-ledger partial failures. Retry either persisted side, reject conflicting event identities, and cover both failure directions with source-level acceptance tests.

@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

@coderabbitai

coderabbitai Bot commented Jul 18, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a first-party VCS SDK exemplar with changeset/ref commands, custom relationship kinds, durable event streaming and projection, and active-host command SDK plumbing. It also updates extension contracts, graph assembly, tests, documentation, package catalogs, and project-management records.

Changes

VCS SDK exemplar

Layer / File(s) Summary
VCS package and command workflow
packages/pm-vcs/*, tests/unit/packages/vcs-extension.spec.ts, CHANGELOG.md
Adds the VCS package, manifest, schema/profile, lifecycle commands, reviewed-merge hook, durable relationship log, documentation, and end-to-end tests.
Relationship-kind registration and graph assembly
src/core/extensions/*, src/sdk/compose.ts, src/sdk/relationships.ts, src/sdk/graph/assembly.ts, tests/unit/sdk/extension-relationship-kinds.spec.ts
Adds custom relationship-kind contracts, validation, registration, policy accounting, declarative blueprint support, activation summaries, and graph assembly from active registrations.
Durable projection and active-host command SDK
src/sdk/relationship-history.ts, src/sdk/runtime.ts, src/sdk/extension-command-context.ts, src/cli/main.ts, tests/unit/sdk/relationship-history-projection.spec.ts
Adds bounded event streaming/projection and passes a host-bound SDK into extension commands without recursively reactivating extensions.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related issues

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 80.49% which is sufficient. The required threshold is 80.00%.
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.
Title check ✅ Passed The title clearly matches the main change: an SDK relationship-event platform plus a public VCS exemplar.
Description check ✅ Passed The description is detailed and directly describes the SDK platform, VCS exemplar, docs, validation, and review history.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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.

Copy link
Copy Markdown
Owner Author

@greptileai Please perform a full review of exact head 020760ac, including SDK public API design, extension isolation, concurrency, crash consistency, and security. The local review findings and two-store reconciliation are documented in the PR body.

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

Please review the complete broad SDK relationship-event platform and VCS exemplar on exact head 020760ac, including all tests and public package boundaries.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026 •

Copy link
Copy Markdown

@unbraind, I’ll perform a complete review of PR #587 at head 020760ac, including the SDK/public package contracts, extension isolation, event/concurrency and crash-consistency paths, security, and the test suite.

✅ Action performed

Full review finished.

@codspeed

codspeed Bot commented Jul 18, 2026 •

Copy link
Copy Markdown

Merging this PR will regress 5 benchmarks

⚠️ 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
❌ build index (2000 docs x 80 words) 161.3 ms 161.4 ms -0.02%
❌ decodeQueryCursor 115.9 µs 115.9 µs -0.02%
❌ jaccardSimilarity 153.3 µs 153.3 µs -0.01%
❌ tokenizeAlphaNumeric 367.3 µs 367.3 µs -0.01%
❌ normalizeLowercaseWhitespace 135.8 µs 135.8 µs 0%
⚡ createQueryFingerprint 515.8 µs 515.2 µs +0.12%
⚡ encodeQueryCursor 101 µs 101 µs +0.05%
⚡ build index (200 docs x 40 words) 8.4 ms 8.4 ms +0.03%
⚡ stableStringify (nested contract) 161.2 µs 161.2 µs +0.02%
⚡ tokenize + score query over 2000 docs 7.5 ms 7.5 ms +0.01%
⚡ score query over 2000 docs 5.6 ms 5.6 ms 0%

Tip

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


Comparing feat/sdk-vcs-domain-event-platform (c392182) with main (70cdc8c)

Open in CodSpeed

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request introduces a new, non-PM domain package pm-vcs as an SDK exemplar to model a minimal VCS-style changeset workflow. It adds custom relationship-kind registration to the extension API, injects host-bound SDK services into extension commands, and implements bounded stream and projection capabilities for relationship event logs and stores. The review feedback focuses on enhancing backward compatibility and robustness. It suggests adding defensive nullish coalescing guards (?? []) and documenting them with inline comments when accessing the newly introduced relationship_kinds field to prevent crashes with legacy payloads. It also recommends allowing undefined in type checks for optional fields like ordering and allowSelf in relationships.ts and defaulting them to false during normalization.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread src/core/extensions/capability-usage.ts Resolved
Comment thread src/sdk/graph/assembly.ts Resolved
Comment thread src/sdk/relationships.ts Resolved
Comment thread src/sdk/relationships.ts Resolved
Comment thread src/core/extensions/loader.ts Resolved
@codecov

codecov Bot commented Jul 18, 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!

@greptile-apps

greptile-apps Bot commented Jul 18, 2026 •

Copy link
Copy Markdown

Greptile Summary

This PR expands the SDK and extension platform around relationship modeling and ships a public VCS exemplar. The main changes are:

  • Extension-owned relationship-kind registration and validation.
  • Bounded relationship event streams with reducer-based projections.
  • Host-bound SDK injection for extension command handlers.
  • Native workspace graph assembly using extension-contributed ontologies.
  • New @unbrained/pm-vcs package with VCS commands, hooks, profiles, durable merge history, and crash-consistent reconciliation.
  • Documentation, contracts, and tests for the new SDK and VCS surfaces.

Confidence Score: 5/5

Safe to merge based on the reviewed changes.

The main runtime paths for extension SDK injection, relationship-kind validation, graph assembly, relationship event projection, and VCS merge reconciliation did not show remaining issues.

No files require special attention.

T-Rex T-Rex Logs

What T-Rex did

  • The acceptance proof was examined to confirm the exact Vitest command, working directory, verbose per-test output, and pass counts, with EXIT_CODE: 0.
  • The CLI smoke proof was reviewed to verify the executed script command, fresh workspace path, each node dist/cli.js invocation, stdout/stderr traces, statuses, and EXIT_CODE: 0.
  • The smoke harness was saved for reproducibility of the CLI smoke run.

View all artifacts

T-Rex Ran code and verified through T-Rex

Important Files Changed

Filename Overview
packages/pm-vcs/extensions/vcs/index.ts Adds the VCS exemplar extension with schema, commands, hook policy, durable merge ledger, and duplicate-event reconciliation.
src/core/extensions/loader.ts Adds registerRelationshipKinds validation, capability checks, and activation summary counts.
src/sdk/extension-command-context.ts Adds host-owned SDK construction for extension commands and durable relationship event stores.
src/sdk/graph/assembly.ts Includes active extension relationship kinds during native workspace graph assembly.
src/sdk/relationship-history.ts Adds bounded event streaming and reducer projections to relationship logs and stores.
src/sdk/relationships.ts Strengthens relationship-kind validation and normalized defaults for extension ontologies.
src/sdk/runtime.ts Adds active-extension-host dispatch bypass and SDK injection for extension actions.
tests/unit/packages/vcs-extension.spec.ts Adds VCS exemplar coverage for lifecycle, durable projections, authorship, and crash-consistency reconciliation.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant User
participant CLI as pm CLI / SDK runAction
participant Ext as VCS extension command
participant SDK as Host-bound ExtensionCommandSdk
participant Client as Active-host PmClient
participant Store as RelationshipEventStore

User->>CLI: "vcs merge <changeset> --ref <ref> --reviewed"
CLI->>Ext: CommandHandlerContext + sdk
Ext->>Client: get changeset and ref
Client-->>Ext: validated VCS items
Ext->>SDK: openRelationshipEventStore(definitions, nodes)
SDK->>Store: open durable VCS ledger
Ext->>Store: stream existing events
Store-->>Ext: coherent immutable prefix
alt matching merge event exists
    Ext-->>CLI: reuse existing event
else no event exists
    Ext->>Store: append deterministic merge event
    alt duplicate event race
        Store-->>Ext: event already exists
        Ext->>Store: stream winner event
        Store-->>Ext: matching winner
    end
end
Ext->>Client: update changeset to merged
Client-->>Ext: merged item
Ext-->>User: vcs-merge result with event details
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
participant User
participant CLI as pm CLI / SDK runAction
participant Ext as VCS extension command
participant SDK as Host-bound ExtensionCommandSdk
participant Client as Active-host PmClient
participant Store as RelationshipEventStore

User->>CLI: "vcs merge <changeset> --ref <ref> --reviewed"
CLI->>Ext: CommandHandlerContext + sdk
Ext->>Client: get changeset and ref
Client-->>Ext: validated VCS items
Ext->>SDK: openRelationshipEventStore(definitions, nodes)
SDK->>Store: open durable VCS ledger
Ext->>Store: stream existing events
Store-->>Ext: coherent immutable prefix
alt matching merge event exists
    Ext-->>CLI: reuse existing event
else no event exists
    Ext->>Store: append deterministic merge event
    alt duplicate event race
        Store-->>Ext: event already exists
        Ext->>Store: stream winner event
        Store-->>Ext: matching winner
    end
end
Ext->>Client: update changeset to merged
Client-->>Ext: merged item
Ext-->>User: vcs-merge result with event details
Loading

Reviews (4): Last reviewed commit: "fix(vcs): reconcile duplicate merge appe..." | Re-trigger Greptile

@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: 6

🤖 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 `@packages/pm-vcs/extensions/vcs/index.ts`:
- Around line 322-340: Reorder the merge flow in
packages/pm-vcs/extensions/vcs/index.ts around the relationship append and
changeset update: append or reuse the validated stable merge event before
updating the proposed item, then reconcile the item state on retries while
preserving idempotency. Update packages/pm-vcs/GAP_REPORT.md at line 21 to
retain the event-first claim; no other sites require changes.
- Around line 267-284: Validate the required ref option in the changeset
creation flow before calling clientFor(context).create: confirm it resolves to
an existing item whose type is VcsRef, and reject otherwise without persisting a
changeset. Keep the validated ref value in the existing vcs_ref field, and add
coverage for both nonexistent IDs and IDs belonging to another item type.

In `@packages/pm-vcs/GAP_REPORT.md`:
- Line 21: The merge flow must append the relationship event before updating
terminal item state, matching the documented event-first ordering. Reorder the
relevant merge operation so relationship-event persistence completes first, then
apply the terminal item update while preserving stable relationship identity and
retry safety.

In `@packages/pm-vcs/package.json`:
- Line 34: Update the report catalog entry in package metadata to link to the
package’s advertised GAP_REPORT.md document instead of the generic GitHub issue
tracker URL.

In `@tests/unit/packages/vcs-extension.spec.ts`:
- Around line 287-292: Wrap the test body following
setActiveExtensionRegistrations in a try/finally block so cleanup always runs
after assertions or other failures. In finally, call
resetActiveExtensionRuntimeState and assertExtensionDeactivated(await
harness.deactivate()); apply the same cleanup structure to the corresponding
setup around the additional referenced location.

In `@tests/unit/sdk/relationship-history-projection.spec.ts`:
- Around line 94-132: Clean up the mkdtemp workspace created in the “streams and
projects one coherent durable snapshot” test by importing rm from
node:fs/promises and wrapping the test body in try/finally, removing the
temporary directory recursively in the finally block.
🪄 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

Run ID: 0f13556f-54d8-4bd9-859d-21e6552971ea

📥 Commits

Reviewing files that changed from the base of the PR and between 70cdc8c and 020760a.

📒 Files selected for processing (45)
  • .agents/pm/epics/pm-qwoy.toon
  • .agents/pm/features/pm-ju83.toon
  • .agents/pm/features/pm-xtrd.toon
  • .agents/pm/history/pm-7zs0.jsonl
  • .agents/pm/history/pm-8ngt.jsonl
  • .agents/pm/history/pm-ju83.jsonl
  • .agents/pm/history/pm-qwoy.jsonl
  • .agents/pm/history/pm-um4g.jsonl
  • .agents/pm/history/pm-v1yo.jsonl
  • .agents/pm/history/pm-xtrd.jsonl
  • .agents/pm/issues/pm-um4g.toon
  • .agents/pm/issues/pm-v1yo.toon
  • .agents/pm/reminders/pm-7zs0.toon
  • .agents/pm/stories/pm-8ngt.toon
  • CHANGELOG.md
  • docs/EXTENSIONS.md
  • docs/SDK.md
  • packages/pm-vcs/GAP_REPORT.md
  • packages/pm-vcs/README.md
  • packages/pm-vcs/extensions/vcs/index.ts
  • packages/pm-vcs/extensions/vcs/manifest.json
  • packages/pm-vcs/extensions/vcs/package.json
  • packages/pm-vcs/package.json
  • src/cli/main.ts
  • src/core/extensions/activation-summary.ts
  • src/core/extensions/capability-usage.ts
  • src/core/extensions/extension-hook-runtime.ts
  • src/core/extensions/extension-registries.ts
  • src/core/extensions/extension-types.ts
  • src/core/extensions/loader.ts
  • src/sdk/compose.ts
  • src/sdk/dependencies.ts
  • src/sdk/extension-command-context.ts
  • src/sdk/graph/assembly.ts
  • src/sdk/relationship-history.ts
  • src/sdk/relationships.ts
  • src/sdk/runtime-input.ts
  • src/sdk/runtime.ts
  • tests/fixtures/contracts/full.json
  • tests/integration/cli.integration.spec.ts
  • tests/integration/init-path-guard.integration.spec.ts
  • tests/unit/extensions/extension-command.spec.ts
  • tests/unit/packages/vcs-extension.spec.ts
  • tests/unit/sdk/extension-relationship-kinds.spec.ts
  • tests/unit/sdk/relationship-history-projection.spec.ts

Comment thread packages/pm-vcs/extensions/vcs/index.ts Resolved
Comment thread packages/pm-vcs/extensions/vcs/index.ts Resolved
Comment thread packages/pm-vcs/GAP_REPORT.md Resolved
Comment thread packages/pm-vcs/package.json Resolved
Validate VCS refs before changeset creation, preserve event-first crash reconciliation with idempotent retries, and keep package diagnostics routed to the bundled gap report. Harden legacy activation compatibility, document graph registration fallbacks, guarantee test cleanup, and lock strict relationship-kind semantics with full coverage.
@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit walkthrough acknowledged: the draft-skip status and broad change summary were reviewed. The explicit full review completed separately; all six actionable inline findings have now been reacted to, answered, resolved, and addressed in dff9f36.

@unbraind

Copy link
Copy Markdown
Owner Author

CodSpeed report acknowledged: the reported aggregate delta is 0.01% across mixed runtime environments and only touches unchanged pagination, BM25, and text-normalization benchmarks. This PR changes none of those hot paths; the signal is below meaningful noise and requires no product change.

@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit review acknowledged in full: all six inline findings were accepted, implemented, reacted to, answered, and resolved on dff9f36. Focused acceptance, typecheck, lint, and exact 100% full coverage pass.

@unbraind

Copy link
Copy Markdown
Owner Author

Greptile hosted summary acknowledged. Its platform-level review was read alongside the two completed local Greptile rounds; the valid crash-consistency and SDK findings are incorporated, and dff9f36 is ready for an exact-head re-review.

@unbraind

Copy link
Copy Markdown
Owner Author

Gemini review acknowledged in full: all six inline comments were reacted to and answered. Four compatibility/documentation findings were applied; the two defaulting proposals were declined because ordering and allowSelf are required public contract fields, with new missing-field rejection tests proving the intended boundary.

@unbraind

Copy link
Copy Markdown
Owner Author

Codecov report acknowledged: hosted coverage was green on the reviewed head, and exact-current dff9f36 independently passes 308 files / 5,896 tests at 100% statements, branches, functions, and lines.

@unbraind

Copy link
Copy Markdown
Owner Author

Sourcery review acknowledged: the bot reported a service rate-limit condition and supplied no actionable code finding. No code change is justified for that external availability result.

@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit invocation result acknowledged: the full first-round review of 020760a completed, and every resulting inline finding was handled on dff9f36 with exact 100/100/100/100 coverage.

@unbraind
unbraind marked this pull request as ready for review July 18, 2026 09:36

@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

@greptileai Please perform a full exact-head re-review of dff9f36. The first hosted findings are implemented or explicitly contract-rejected in their threads; inspect SDK public API design, extension isolation, event concurrency, crash consistency, security, and the new regression tests.

@unbraind

Copy link
Copy Markdown
Owner Author

@coderabbitai full review\n\nPlease re-review the complete broad PR at exact head dff9f36. All first-round comments were individually reacted to, answered, resolved, and validated with 5,896 tests at exact 100/100/100/100 coverage.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026 •

Copy link
Copy Markdown

@unbraind, I’ll perform a complete re-review of PR #587 at exact head dff9f362, covering the public SDK contracts, extension isolation, relationship event concurrency and crash consistency, security boundaries, package surfaces, and regression tests.

✅ Action performed

Full review finished.


Your plan includes PR reviews subject to rate limits. More reviews will be available in 20 minutes.

Comment thread packages/pm-vcs/extensions/vcs/index.ts Resolved
@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit exact-head re-review acknowledged: the full dff9f36 review finished with no new inline findings. Its temporary plan-rate-limit notice is external and non-actionable; the completed result is clean.

@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit's six empty follow-up review records were inspected. They are automated acknowledgements associated with the six answered CodeRabbit threads, contain no additional findings, and have each been reacted to.

@unbraind

Copy link
Copy Markdown
Owner Author

Sourcery's second review record was inspected and reacted to; it repeats the external weekly diff-character rate limit and contains no code finding.

@unbraind

Copy link
Copy Markdown
Owner Author

Greptile exact-head review acknowledged: the dff9f36 review check passed, its review submission contains no finding, and the exact-head inventory has zero unresolved threads.

Refresh and verify deterministic merge winners when another process wins the durable append lock. Preserve unrelated storage failures, reject missing or conflicting winners with causal errors, and cover every concurrency outcome at exact repository-wide 100 percent coverage.
@unbraind

Copy link
Copy Markdown
Owner Author

@greptileai Please re-review exact head c392182, specifically the duplicate deterministic append race from thread PRRT_kwDORSgRDc6R-X1z and its matching, missing, conflicting, and unrelated-error failure-injection coverage. Then inspect the complete broad PR for regressions.

@unbraind

Copy link
Copy Markdown
Owner Author

@coderabbitai full review\n\nPlease re-review the complete PR at exact head c392182 after the Greptile P1 concurrency correction. Validate deterministic append race recovery, causal failures, SDK/package boundaries, and the exact 100% coverage tests.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026 •

Copy link
Copy Markdown

@unbraind, I’ll re-review the complete PR at exact head c392182e, focusing on deterministic append-race recovery, causal failure behavior, SDK and public-package boundaries, and the related coverage-backed regressions.

✅ Action performed

Full review finished.


Your plan includes PR reviews subject to rate limits. More reviews will be available in 5 minutes.

@unbraind

Copy link
Copy Markdown
Owner Author

CodeRabbit final exact-head review acknowledged: the complete c392182 re-review finished with no new findings. The temporary plan-rate-limit note is external and non-actionable; all exact-head checks and review threads are clean.

@unbraind

unbraind commented Aug 4, 2026

Copy link
Copy Markdown
Owner Author

Tracked in PM: pm-8ngt, pm-ju83, pm-um4g, pm-v1yo, pm-xtrd.

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