Skip to content

SDK package identity, stable release, and artifact contracts - #883

Merged
unbraind merged 5 commits into
mainfrom
feat/sdk-package-platform-contracts
Aug 3, 2026
Merged

SDK package identity, stable release, and artifact contracts#883
unbraind merged 5 commits into
mainfrom
feat/sdk-package-platform-contracts

Conversation

@unbraind

@unbraind unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Summary

This broad package-platform tranche strengthens the universal PM SDK/CLI extension baseline across three linked concerns:

  • namespaces the bundled VCS SDK exemplar as vcs-exemplar while preserving internal-tier vcs compatibility, and carries managed install aliases into loaded-extension context so pm package describe <install-alias> remains deterministic;
  • makes automatic production releases strictly once per UTC day, rejects SemVer prerelease ordinals from the stable path, and teaches generated package docs the supported stable peer-range shape;
  • removes unused typebox, excludes source maps from npm, prunes obsolete hashed chunks after locked rebuilds, and enforces fail-closed artifact size/file/path budgets in CI and release workflows.

PM lineage

Verification

  • 425 test files / 6,782 tests
  • coverage: 100% statements, branches, functions, and lines
  • strict static/docstring, SDK surface/parity, context/retrieval/token, version, secret, and dependency gates
  • repeated-build artifact: 15,228,302 unpacked bytes, 1,308 files, zero .map files
  • packed npx smoke across 15 packages
  • 88-command package-first dogfood
  • isolated project acceptance for install, describe-by-alias, canonical and compatibility VCS flows, package doctor, validation, and health

Release policy

v2026.8.3 is already the immutable automatic release for 2026-08-03. This change intentionally prevents a second same-day automatic release; publication verification will therefore prove the existing tag remains singular rather than moving or duplicating it.

Summary by Sourcery

Enforce stable calendar-based release policy, tighten npm artifact composition and size budgets, and clarify SDK VCS exemplar naming and command namespaces while improving extension alias resolution.

New Features:

  • Support describing extensions by persisted install aliases in package lifecycle commands.
  • Introduce a collision-free vcs-exemplar command namespace with legacy vcs aliases for the bundled VCS SDK exemplar.
  • Add a package artifact gate that validates npm pack output against committed size, file-count, required-path, and forbidden-suffix budgets in CI and release workflows.

Bug Fixes:

  • Prevent same-day ordinal releases once a stable calendar version exists and block historical ordinals from being used as new stable release targets.
  • Ensure one-release-per-UTC-day enforcement and diagnostics treat historical ordinal tags as immutable prereleases that cannot satisfy stable peer ranges.

Enhancements:

  • Propagate managed extension install-source identities into the loaded extension model so describe operations can resolve by original install spelling.
  • Prune obsolete hashed bundle outputs deterministically after locked rebuilds to avoid leaking stale chunks into repeated-build artifacts.
  • Rename the VCS SDK exemplar package and extension identifiers to reflect their SDK role and update documentation and tests accordingly.
  • Document stable peer dependency guidance for @unbrained/pm-cli in SDK docs and scaffolded extension READMEs.

Build:

  • Exclude source maps from the published npm tarball via the package files list.
  • Wire the package artifact gate into local quality scripts and CI/release workflows to replace raw npm pack --dry-run calls.

CI:

  • Update CI workflow steps to run the package artifact gate script instead of plain npm pack for packaging checks.

Documentation:

  • Refresh VCS exemplar package README, gap report, and releasing/SDK documentation to reflect the new vcs-exemplar namespace, stable peer policy, and artifact budget gate.

Tests:

  • Extend extension describe, VCS exemplar, bundle cleanup, release-version, extension scaffold guidance, and workflow contract tests and add dedicated tests for the new package artifact gate script.

Chores:

  • Remove the unused typebox peer dependency from the root package configuration and update internal PM tracking artifacts.

Summary by cubic

Namespaces the bundled VCS SDK exemplar and enforces stable release and packaging contracts for small, map‑free npm artifacts. Also syncs the changelog and keeps the artifact validator under strict complexity gates.

  • New Features

    • Bundled exemplar: package renamed to @unbrained/pm-vcs-sdk-exemplar; commands now under vcs-exemplar; legacy vcs kept for local compatibility (closes A bundled exemplar package occupies a public package name and command namespace, with no way for either to detect the collision #832).
    • Deterministic identity: the loader persists install aliases and pm extension describe/SDK can target by alias or source package; parsing is simplified with strict guards for malformed state.
    • Stable releases: production publishes exactly once per UTC day; same‑day ordinals (YYYY.M.D-N) are rejected; docs and scaffolds guide peers to use normal ranges like >=<pm_min_version> (addresses npm latest points to prerelease that fails stable peer ranges #681).
    • Packaging gate: new scripts/release/package-artifact-gate.mjs + budget JSON enforce max size/file count, forbid .map, and require key files; wired into CI/release; validator stays under strict complexity via declarative required‑paths; package.json excludes source maps; stale hashed chunks are pruned on rebuild; removed unused typebox.
  • Migration

    • Use vcs-exemplar in new scripts/docs; local vcs still works.
    • Keep peerDependencies["@unbrained/pm-cli"] as a stable range (e.g., >=<pm_min_version>); do not pin historical ordinals.

Written for commit 56755a3. Summary will update on new commits.

Review in cubic

Deliver a broad package-platform tranche across the SDK, CLI, release automation, and published artifact boundary. Namespace the bundled VCS exemplar with legacy compatibility, preserve managed install aliases for package introspection, reject unstable same-day ordinal releases, document stable peer ranges, and enforce deterministic source-map-free package budgets with repeated-build chunk cleanup.

Close pm-6z0wzf, pm-csuce0, and pm-998juj with linked tests, generated changelog entries, 100% repository coverage, packed npx smoke, and package-first dogfood evidence.
@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.

@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

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

@greptileai review this broad SDK/package-platform tranche. Please focus on package namespace compatibility, managed alias provenance, SemVer stable-range behavior, and deterministic artifact cleanup/gating.\n\n@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 3, 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: 33 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

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: 1d020000-f102-43e5-9b92-1417793591b0

📥 Commits

Reviewing files that changed from the base of the PR and between d2bf9f1 and 56755a3.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (35)
  • .agents/pm/extensions/.managed-extensions.json
  • .agents/pm/history/pm-6z0wzf.jsonl
  • .agents/pm/history/pm-998juj.jsonl
  • .agents/pm/history/pm-csuce0.jsonl
  • .agents/pm/issues/pm-6z0wzf.toon
  • .agents/pm/issues/pm-csuce0.toon
  • .agents/pm/tasks/pm-998juj.toon
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • CHANGELOG.md
  • docs/RELEASING.md
  • docs/SDK.md
  • package.json
  • 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/package.json
  • scripts/bundle-cli.mjs
  • scripts/release-version.mjs
  • scripts/release/package-artifact-budget.json
  • scripts/release/package-artifact-gate.mjs
  • src/core/extensions/extension-types.ts
  • src/core/extensions/loader.ts
  • src/sdk/extension/describe.ts
  • src/sdk/extension/scaffold.ts
  • tests/integration/ci-workflow-contract.spec.ts
  • tests/integration/release-automation-contract.spec.ts
  • tests/unit/extensions/extension-command.spec.ts
  • tests/unit/extensions/extension-describe.spec.ts
  • tests/unit/extensions/extension-scaffold-define-guidance.spec.ts
  • tests/unit/packages/vcs-extension.spec.ts
  • tests/unit/scripts/bundle-cli.spec.ts
  • tests/unit/scripts/release-version.spec.ts
  • tests/unit/scripts/release/package-artifact-gate.spec.ts
✨ 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.

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

@unbraind I will perform a full review of #883. I will focus on package namespace compatibility, managed alias provenance, SemVer stable-range behavior, and deterministic artifact cleanup and gating.

✅ 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.

@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

@greptileai please re-review exact head 98448a7 after the PM evidence follow-up.\n\n@coderabbitai full review

@sourcery-ai

sourcery-ai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Reviewer's Guide

Strengthens package/extension identity and release rigor by plumbing install aliases into extension describe, namespacing the bundled VCS SDK exemplar while preserving internal compatibility, tightening calendar-based release rules to forbid new ordinals, and introducing a fail-closed npm artifact budget gate wired into CI and release workflows, alongside pruning unused deps and sourcemaps.

Flow diagram for extension install aliases into describe resolution

flowchart LR
  A[.managed-extensions.json<br/>entries: directory,name,source.input,source.name,source.package]
  B[readManagedExtensionSourcePackages<br/>&rarr; Map&lt;string,ManagedExtensionSourceIdentity&gt;]
  C[scanExtensionDirectory<br/>uses managedSourcePackages]
  D[EffectiveExtension<br/>source_package<br/>source_aliases]
  E[buildExtensionDescribeResult<br/>matches target<br/>against name, source_package,<br/>source_aliases]

  A --> B
  B --> C
  C --> D
  D --> E
Loading

Flow diagram for calendar-based release-version policy

flowchart TD
  A[release-version.mjs
  runCheck] --> B[parse package.json version
  via parseVersion]
  B --> C[compute expectedDate
  from --date or today]
  C --> D[parsedVersion.ordinal !== null?]

  D -- yes --> E[fail:
  historical ordinal;
  new releases must use
  stable YYYY.M.D]
  D -- no --> F[nextVersionForDate]

  F --> G[tags exist for expectedDate?]
  G -- no --> H[ok: expected version
  is expectedDate]
  G -- yes --> I[fail:
  release already exists
  for date;
  no new ordinals]
Loading

File-Level Changes

Change Details Files
Persisted install-source aliases are surfaced through the extension loader and used by extension describe so packages can be described by their original install alias.
  • Extend EffectiveExtension and ExtensionCandidate with optional source_aliases arrays.
  • Teach readManagedExtensionSourcePackages to produce a ManagedExtensionSourceIdentity with package_name and de-duplicated aliases from managed extension metadata.
  • Wire managed source identity into scanExtensionDirectory so scanned extensions record both source_package and source_aliases.
  • Filter _testOnlyLoader.readManagedExtensionSourcePackages to preserve its original Map<string,string> contract for tests.
  • Update buildExtensionDescribeResult matching logic so it also matches against normalized source_aliases and expand tests for managed extensions and alias-based describe flows.
src/core/extensions/loader.ts
src/core/extensions/extension-types.ts
src/sdk/extension/describe.ts
tests/unit/extensions/extension-describe.spec.ts
Namespace the bundled VCS SDK exemplar package and commands under a collision-free vcs-exemplar root while retaining vcs command aliases for internal compatibility and updating docs/tests to match.
  • Rename the VCS exemplar extension manifest name and package name to builtin-vcs-sdk-exemplar and @unbrained/pm-vcs-sdk-exemplar, updating pm aliases from vcs to vcs-exemplar.
  • Introduce VCS_COMMAND_NAMESPACE and VCS_LEGACY_COMMAND_NAMESPACE constants and build canonical commands under vcs-exemplar plus internal-tier cloned commands under vcs for backward compatibility.
  • Update enforceVcsMergePolicy to accept both namespaced and legacy merge commands and adjust tests to assert both behaviors.
  • Rewrite CLI usage, README, and GAP_REPORT docs to use the vcs-exemplar prefix while documenting retained internal vcs spellings.
  • Update extension command runtime tests to expect the new alias, package name, and manifest name wiring.
packages/pm-vcs/extensions/vcs/index.ts
packages/pm-vcs/extensions/vcs/manifest.json
packages/pm-vcs/package.json
packages/pm-vcs/README.md
packages/pm-vcs/GAP_REPORT.md
tests/unit/packages/vcs-extension.spec.ts
tests/unit/extensions/extension-command.spec.ts
Tighten calendar-based release versioning so there is exactly one stable release per UTC day and historical ordinals are treated as immutable prereleases, updating docs and tests accordingly.
  • Change release-version usage text and rules so new production versions must be bare YYYY.M.D and ordinals YYYY.M.D-N are historical only.
  • Update nextVersionForDate to throw when a stable release already exists instead of proposing a new ordinal.
  • Update runCheck to reject packages whose current version is an ordinal and ensure it also passes through nextVersionForDate for conflict detection.
  • Adjust unit tests to assert failures when attempting same-day ordinals or using ordinals as new release targets and to treat single-string npm responses as existing stable releases.
  • Revise RELEASING.md and SDK docs to describe stable peer ranges, forbidden ordinal targets, and release policy behavior.
scripts/release-version.mjs
tests/unit/scripts/release-version.spec.ts
docs/RELEASING.md
docs/SDK.md
Introduce a fail-closed npm package artifact gate that enforces size, file-count, forbidden-suffix, and required-path budgets based on npm’s packlist, wiring it into CI and release workflows.
  • Add package-artifact-budget.json and package-artifact-gate.mjs which shells out to npm pack --dry-run --json --ignore-scripts, parses the report, and validates it against configured budgets, producing a structured receipt or throwing on violations.
  • Implement validatePackageArtifact to enforce unpacked size, file count, forbidden suffixes (e.g. .map), and required runtime paths, returning a bounded summary when ok.
  • Add unit tests for the gate validating happy path, aggregated violations, Windows npm shim behavior, and malformed report handling.
  • Wire the gate into package.json scripts as quality:package-artifact and replace raw npm pack --dry-run calls in CI and release workflows and corresponding workflow-contract tests.
  • Exclude source maps from the published files list and document the artifact gate and budgets in RELEASING.md and the changelog.
scripts/release/package-artifact-gate.mjs
scripts/release/package-artifact-budget.json
tests/unit/scripts/release/package-artifact-gate.spec.ts
package.json
.github/workflows/ci.yml
.github/workflows/release.yml
tests/integration/ci-workflow-contract.spec.ts
tests/integration/release-automation-contract.spec.ts
docs/RELEASING.md
CHANGELOG.md
Simplify CLI bundle cleanup so stale hashed chunks are always removed after a successful locked build, and update tests and workflow contract expectations.
  • Remove bundleStaleRetentionMs and lstat-based age filtering from removeStaleBundleFiles so any file not in the current manifest is unlinked, swallowing unlink errors.
  • Update tests to reflect the new behavior of deleting all obsolete outputs rather than only older files and drop lstat-related mocking.
  • Clarify comments in main() about deferring cleanup until both new graphs are built and ensuring obsolete chunks do not leak into repeated-build artifacts, and assert this behavior in the release automation contract test.
scripts/bundle-cli.mjs
tests/unit/scripts/bundle-cli.spec.ts
tests/integration/release-automation-contract.spec.ts
Tidy dependencies and extension scaffolding guidance by dropping an unused typebox peer and strengthening SDK peer-version recommendations.
  • Remove the optional typebox peerDependencies and peerDependenciesMeta from the root package.json.
  • Enhance extension scaffold README guidance to call out stable @unbrained/pm-cli peer ranges (>= pm_min_version) and explain why prerelease ordinals are excluded by SemVer.
  • Extend the scaffold guidance unit test to assert the new README content.
  • Update docs and changelog to reference stable peer compatibility and artifact budget work.
package.json
src/sdk/extension/scaffold.ts
tests/unit/extensions/extension-scaffold-define-guidance.spec.ts
docs/RELEASING.md
CHANGELOG.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

@unbraind I will perform a full review of #883 at head 98448a779.

I will focus on the PM evidence follow-up and the specified package, alias, SemVer, cleanup, and artifact-gate contracts.

✅ 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.

@codspeed-hq

codspeed-hq Bot commented Aug 3, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 11 untouched benchmarks


Comparing feat/sdk-package-platform-contracts (56755a3) with main (d2bf9f1)

Open in CodSpeed

@codecov

codecov Bot commented Aug 3, 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!

Keep install-source alias resolution within the strict complexity gate while preserving malformed-state handling and SDK identity behavior. Record the hosted CI finding and focused verification on pm-6z0wzf.
@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Exact-head follow-up c0f92b7 resolves the hosted complexity finding without weakening the gate; repo-wide ESLint and all linked extension/VCS tests pass.

@greptileai please review the full updated PR.
@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

@unbraind I will perform a full review of #883 at head c0f92b72d. I will verify the updated complexity gate and the package namespace, managed alias, SemVer, and artifact contracts.

✅ 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 48 minutes.

Regenerate the canonical changelog with pm-changelog 2026.8.3 after recording the exact-head CI resolution on pm-6z0wzf.
@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Exact-head bcc9b16 now includes the deterministic pm-changelog 2026.8.3 regeneration after final PM close evidence; local changelog check is idempotent.

@greptileai please review the full updated PR.
@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

@unbraind I will perform a full review of #883 at head bcc9b1679.

I will review the changelog regeneration and the package namespace, managed alias, SemVer stable-range, artifact cleanup, and artifact-gate contracts.

✅ 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 42 minutes.

Accumulate missing runtime paths declaratively so the artifact gate passes both ESLint and CodeFactor-parity analysis without suppressions or threshold changes. Record exact hosted and local evidence on pm-998juj.
@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Exact-head 56755a3 resolves the remaining CodeFactor-parity complexity finding without suppressions or threshold changes. Local strict static-quality reports zero violations; artifact/workflow tests pass 19/19 and npm pack remains 1,308 files with zero maps.

@greptileai please review the full updated PR.
@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

@unbraind I will perform a full review of #883 at head 56755a3a4.

I will verify the complexity change, package namespace compatibility, managed alias provenance, stable SemVer behavior, deterministic artifact cleanup, and artifact gating.

✅ 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 33 minutes.

@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Gemini Code Assist sunset notice acknowledged (source). No review was available from this provider; exact-head security, static, coverage, platform, and hosted-analysis checks are green.

@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

CodeRabbit responses individually acknowledged: initial limit notice, initial request, 98448a779, c0f92b72d, bcc9b1679, and 56755a3a4. Every attempt ended at the provider fair-usage limit and produced no actionable finding. The exact head is independently green across all mandatory checks.

@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Sourcery outputs acknowledged: the reviewer guide accurately captured the alias, stable-release, and artifact flows and was useful; the formal review was rate-limited before findings. Exact-head Sourcery check status and all mandatory repository gates are green.

@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

CodSpeed report acknowledged (source): all 11 tracked benchmarks are unchanged, and the exact-head benchmark job passed.

@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Codecov report acknowledged (source): every modified coverable line is covered, all four shards passed, and aggregate coverage remains 100/100/100/100.

@unbraind

unbraind commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Final review inventory at exact head 56755a3: zero review threads and zero unresolved findings; every bot comment/review is reacted to and acknowledged. CodeRabbit and Sourcery exhausted provider limits without findings, Gemini is sunset, and Greptile returned no response despite repeated exact-head requests and waiting beyond 25 minutes. All mandatory and external checks are green.

@unbraind
unbraind merged commit d4b1c49 into main Aug 3, 2026
32 checks passed
@unbraind
unbraind deleted the feat/sdk-package-platform-contracts branch August 3, 2026 15:11
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.

A bundled exemplar package occupies a public package name and command namespace, with no way for either to detect the collision

1 participant