Repository navigation
feat(sdk): promote execution, diagnostics, and query engines - #573
Conversation
Move linked-test execution, batch supervision, persisted run lifecycle, evaluation, telemetry, and statistics behind public typed SDK contracts while retaining identity-preserving CLI compatibility exports. Reduce the CLI/MCP private-core boundary by 8 sources and 72 edges, lower the exact ESLint suppression ratchet, document the public composition surface, and record pm-oslr/pm-9x6e evidence with generated changelog output. Verified with 5,738 tests at exact 100/100/100/100 coverage, strict release gates, packed-package acceptance, 88-command dogfood, and live Sentry/telemetry checks.
Move the cohesive list, search, pagination, rendering, filter, and parser implementations under SDK ownership while preserving thin CLI compatibility exports. Route evaluation and runtime consumers directly through the public SDK boundary and update package mocks and identity tests accordingly. Ratchet the grandfathered CLI-private import baseline from 54 sources / 466 edges to 51 sources / 412 edges. Record live pm lineage and exact 100/100/100/100 release-gate, packed-package, and 88-command dogfood evidence.
Remove npm-generated legacy package defaults, make the promoted parser documentation SDK-centric, and record the confidence-5 Greptile review. Return the zero-boundary capstone to open and release ownership because 51 source entries / 412 edges remain.
There was a problem hiding this comment.
Sorry @unbraind, your pull request is larger than the review limit of 150000 diff characters
|
@greptileai please review this exact head. |
|
/gemini review |
|
@coderabbitai full review |
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 59 minutes. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis change promotes query, evaluation, execution, diagnostics, telemetry, statistics, and linked-test runtimes into public SDK modules. CLI command modules become compatibility re-exports, SDK runtime wiring and documentation are updated, governance integrations consume new contracts, and release verification thresholds are tightened. ChangesSDK ownership promotion
Sequence Diagram(s)sequenceDiagram
participant CLI
participant SDK
participant Store
participant ExternalProvider
CLI->>SDK: invoke public runtime
SDK->>Store: load settings, items, history, or linked tests
SDK->>ExternalProvider: request semantic search or diagnostics data
ExternalProvider-->>SDK: provider results or fallback condition
SDK-->>CLI: structured result, warnings, and diagnostics
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
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. Comment |
Merging this PR will regress 4 benchmarks
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
|
Overall Grade |
Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| JavaScript | Jul 16, 2026 5:41p.m. | Review ↗ | |
| Shell | Jul 16, 2026 5:41p.m. | Review ↗ | |
| Secrets | Jul 16, 2026 5:41p.m. | Review ↗ |
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
Greptile SummaryThis PR moves several CLI-owned command implementations into the public SDK. The main changes are:
Confidence Score: 5/5The reviewed changes appear safe to merge. The changes are mostly SDK ownership moves with compatibility re-exports and matching test/doc updates. No new high-confidence runtime bugs were identified in the reviewed changed paths. Historical list truncation and search count findings were either fixed or explicitly resolved in prior discussion. No files require special attention.
What T-Rex did
Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant CLI as CLI compatibility exports
participant SDK as Public SDK modules
participant Core as Core stores/runtime
participant Gov as Governance audit package
CLI->>SDK: re-export command APIs
Gov->>SDK: call runList/runUpdate/runClose helpers
SDK->>Core: read settings, load items, execute search/tests
Core-->>SDK: return typed records and diagnostics
SDK-->>CLI: return command-compatible results
SDK-->>Gov: return audit and merge data
%%{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 CLI as CLI compatibility exports
participant SDK as Public SDK modules
participant Core as Core stores/runtime
participant Gov as Governance audit package
CLI->>SDK: re-export command APIs
Gov->>SDK: call runList/runUpdate/runClose helpers
SDK->>Core: read settings, load items, execute search/tests
Core-->>SDK: return typed records and diagnostics
SDK-->>CLI: return command-compatible results
SDK-->>Gov: return audit and merge data
Reviews (42): Last reviewed commit: "docs(sdk): clarify unbounded list preced..." | Re-trigger Greptile |
There was a problem hiding this comment.
Code Review
This pull request promotes execution, diagnostics, and query primitives (including list, search, eval, telemetry, stats, test, test-all, and test-runs) from the CLI command-side into the public SDK, leaving the CLI commands as thin compatibility re-exports. The review feedback focuses on security and robustness improvements, specifically addressing potential prototype pollution vulnerabilities in JSON path traversal and object creation by recommending the use of Object.prototype.hasOwnProperty.call and Object.create(null). Additionally, a more robust implementation for checking linked-test assertions is suggested to prevent future silent failures.
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.
Greptile SummaryThis PR moves several CLI-owned command implementations into public SDK modules. The main changes are:
Confidence Score: 5/5Safe to merge with minimal risk. The changes are mostly implementation relocation with compatibility re-exports, SDK dispatch updates, public export updates, and reference-identity coverage. No functional or security issues were identified in the reviewed changed paths. No files require special attention.
What T-Rex did
Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant CLI as CLI command shell
participant SDK as Public SDK module
participant Runtime as SDK runtime dispatcher
participant Core as Core primitives/stores
CLI->>SDK: re-export command implementation
Runtime->>SDK: dispatch list/search/eval/stats/telemetry/test actions
SDK->>Core: resolve settings, schemas, stores, search/test primitives
Core-->>SDK: records, rankings, diagnostics, telemetry state
SDK-->>Runtime: structured SDK result
SDK-->>CLI: CLI-compatible result contract
%%{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 CLI as CLI command shell
participant SDK as Public SDK module
participant Runtime as SDK runtime dispatcher
participant Core as Core primitives/stores
CLI->>SDK: re-export command implementation
Runtime->>SDK: dispatch list/search/eval/stats/telemetry/test actions
SDK->>Core: resolve settings, schemas, stores, search/test primitives
Core-->>SDK: records, rankings, diagnostics, telemetry state
SDK-->>Runtime: structured SDK result
SDK-->>CLI: CLI-compatible result contract
Reviews (2): Last reviewed commit: "chore(sdk): finalize reviewed query owne..." | Re-trigger Greptile |
There was a problem hiding this comment.
Code Review
This pull request promotes query, execution, and diagnostics primitives to the public SDK, relocating list, search, evaluation, telemetry, stats, and linked-test execution modules from the CLI command surface to SDK-owned paths under src/sdk. The corresponding CLI commands are updated to serve as compatibility-only re-exports of these SDK primitives, and the import boundary baseline is successfully reduced. Feedback on the changes suggests improving error handling in src/sdk/eval.ts by replacing unsafe type assertions of caught unknown errors with safe type guards.
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.
There was a problem hiding this comment.
Actionable comments posted: 16
🤖 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/features/pm-rjqr.toon:
- Line 37: Update the feature inventory entry at files[7] to document SDK
ownership of the promoted src/sdk/query list/search engines and cohesive query
helpers, along with the remaining CLI compatibility exports and SDK eval
direct-search imports. Include the relevant verification evidence while
preserving the existing closed resolution and audit details.
In `@docs/SDK.md`:
- Around line 804-820: Remove the inline PM tracker references from the “Query
execution” and “Execution and diagnostics” sections of the public SDK reference,
including the “Tracked by” lines and their private tracker links. Keep the
surrounding SDK documentation and section headings unchanged; use the
established pm docs collection link only if a collection reference is required.
- Around line 828-855: Add self-contained declarations for pmRoot, itemId, and
runId in the SDK example before they are used by runTest, runTestAll, and
runTestRunsStatus, or wrap the example in a function that receives these values.
Ensure the resulting snippet can type-check when copied without relying on
undeclared variables.
In `@src/sdk/query/list.ts`:
- Around line 250-251: Revise the public list result types around ListedItem and
ListResult.items so they accurately distinguish full records, tree-mode records,
and compact/field-projected partial records. Remove any casts that represent
projected rows as complete ItemMetadata, and define the corresponding field
optionality and tree-specific fields explicitly. Update the affected list
construction paths and preserve type-safe access for each result variant.
In `@src/sdk/query/parsers.ts`:
- Around line 16-28: Reject blank or whitespace-only numeric arguments before
JavaScript numeric conversion: update parseIntegerLimit in
src/sdk/query/parsers.ts at lines 16-28, the priority parser in
src/sdk/query/parsers.ts at lines 32-41, and offset handling in
src/sdk/query/list.ts at lines 709-719 to trim input and raise the existing
validation error when empty, while preserving normal numeric validation for
non-empty values.
In `@src/sdk/query/search.ts`:
- Around line 1479-1506: Update highlightFieldSnippet so the snippet window
always extends through the complete token beginning at firstMatchIndex, rather
than ending solely at firstMatchIndex plus HIGHLIGHT_SNIPPET_RADIUS. Preserve
the existing radius-based context, bounds clamping, and markTokenRuns
highlighting behavior.
- Around line 2905-2912: Update projectSearchHits so full-mode projection also
removes the internal exact_id_match ranking flag from every returned hit,
alongside matched_all_terms. Preserve all other hit fields and the documented
public shape.
In `@src/sdk/stats.ts`:
- Around line 144-152: Update the history file read flow around the raw variable
to use the existing readFileIfExists utility, preserving the continue behavior
when the file is absent and the existing error propagation for other failures.
Add the utility import from ../core/fs/fs-utils.js and remove the now-unused
isNotFoundError helper and import.
In `@src/sdk/test/batch.ts`:
- Around line 369-389: Update collectTestAllItemTests to start all metadata-only
runTest calls concurrently and await them with Promise.all, preserving each
result’s association with its original filteredItems entry. Build itemTests and
linkedTests from the resolved results while retaining the existing return shape
and run: false behavior.
- Around line 296-308: Update buildLinkedTestKey so the path-based return
includes the normalized env_set, env_clear, pm_context_mode, shared_host_safe,
and assertion metadata, matching the command-based key. Preserve the path and
scope components while ensuring path-linked tests with different metadata
produce distinct deduplication keys.
In `@src/sdk/test/entry.ts`:
- Around line 59-65: Update the Object.entries loop that normalizes kv keys to
detect when normalizedKv already contains normalizedKey before assignment;
return the existing usage-error result for duplicate case-insensitive keys,
while preserving unknown-key handling and normal assignment for unique keys.
In `@src/sdk/test/execution.ts`:
- Around line 865-883: Update parseLinkedTestTimeoutSeconds and the run-level
options.timeout handling to reject any parsed timeout that is zero or negative,
while preserving the existing alias-mismatch validation and flooring behavior.
Ensure both linked-test and run-level timeouts accept only positive integer
results before creating timers.
- Around line 622-650: Update segmentInvokesRecursiveTestAll to detect
shell-wrapped recursive invocations by recognizing common shells such as sh,
bash, cmd, and PowerShell, extracting their command payload arguments, and
inspecting those payloads with the existing detection logic. Preserve the
current direct-launch, node, npx/bunx, pnpm, and npm handling while ensuring
forms like -c, -lc, and /c cannot bypass recursion detection.
- Around line 2040-2044: Update mismatch_detected in the execution result to
compare global tracker item counts against the corresponding selected sandbox
global count in addition to the existing project comparison. Keep the check
gated by params.isPmCommand so global-scope tracker reads correctly report
mismatches and trigger preflight.
- Around line 1824-1828: Bound linked-test regex evaluation in
evaluateRegexAssertions by using a matcher or deadline that cannot stall on
catastrophic patterns, while preserving existing assertion results and failure
reporting. Apply the same bounded-regex policy during parseLinkedTestRegexList
in src/sdk/test/parsers.ts lines 180-202 and readJsonEntryRegexList in
src/sdk/test/parsers.ts lines 396-415 so unsafe patterns are rejected before
execution; update all three sites consistently.
In `@src/sdk/test/parsers.ts`:
- Around line 300-307: Update the numeric parsing in the GTE assertion flow
around values[key] to use strict Number conversion instead of Number.parseFloat,
ensuring partially numeric inputs such as “10oops” fail the existing
finite-number validation and raise PmCliError.
🪄 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: 2fce8900-1443-4c25-aa3e-bc613090892c
📒 Files selected for processing (48)
.agents/pm/features/pm-oslr.toon.agents/pm/features/pm-rjqr.toon.agents/pm/history/pm-9x6e.jsonl.agents/pm/history/pm-oslr.jsonl.agents/pm/history/pm-rjqr.jsonl.agents/pm/tasks/pm-9x6e.toonCHANGELOG.mddocs/SDK.mddocs/SDK_PRIMITIVE_INVENTORY.mdeslint-suppressions.jsonpackage.jsonscripts/release/sdk-import-boundary-baseline.jsonscripts/release/static-quality-gate.mjssrc/cli/commands/eval.tssrc/cli/commands/linked-test-entry.tssrc/cli/commands/linked-test-parsers.tssrc/cli/commands/list.tssrc/cli/commands/search.tssrc/cli/commands/stats.tssrc/cli/commands/telemetry.tssrc/cli/commands/test-all.tssrc/cli/commands/test-runs.tssrc/cli/commands/test.tssrc/cli/shared-parsers.tssrc/sdk/eval.tssrc/sdk/index.tssrc/sdk/query/item-filter-options.tssrc/sdk/query/list.tssrc/sdk/query/parsers.tssrc/sdk/query/search-pagination.tssrc/sdk/query/search-rendering.tssrc/sdk/query/search.tssrc/sdk/runtime.tssrc/sdk/stats.tssrc/sdk/telemetry.tssrc/sdk/test/batch.tssrc/sdk/test/entry.tssrc/sdk/test/execution.tssrc/sdk/test/parsers.tssrc/sdk/test/runs.tstests/integration/release-automation-contract.spec.tstests/integration/release-readiness-runtime.spec.tstests/unit/commands/comments-command.spec.tstests/unit/commands/dedupe-audit-command.spec.tstests/unit/commands/eval-command.spec.tstests/unit/commands/normalize-command.spec.tstests/unit/mcp/mcp-server-branch-residual.spec.tstests/unit/sdk/execution-diagnostics-primitives.spec.ts
💤 Files with no reviewable changes (2)
- eslint-suppressions.json
- scripts/release/sdk-import-boundary-baseline.json
Address PR #573 review findings across SDK query projections, numeric parsing, search highlighting, linked-test execution, stats reads, governance callers, and public documentation. Add adversarial regression coverage, preserve bounded tracker I/O, and record exact release-gate evidence on pm-9x6e before returning the incomplete zero-boundary capstone to open.
|
@greptileai please review the new head 1f03bce. |
|
/gemini review |
|
@coderabbitai full review |
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 59 minutes. |
There was a problem hiding this comment.
Code Review
This pull request completes the promotion of execution, diagnostics, and query primitives to the public SDK, moving logic from CLI command modules into SDK-owned modules. This includes migrating test execution, batch orchestration, background run lifecycle, search evaluation, telemetry, and query engines. The changes also include a reduction in the CLI-to-core import boundary baseline and updated documentation. I have identified a critical issue regarding incorrect de-duplication of path-based linked tests in the new SDK implementation.
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.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@src/sdk/test/execution.ts`:
- Around line 2625-2633: Update the PmCliError message in the
defaultTimeoutSeconds validation to describe the run-level test timeout as a
positive number rather than a positive integer, while preserving the existing
validation logic.
In `@tests/unit/commands/list-command.spec.ts`:
- Around line 1745-1766: Update the future-date fixtures in the list command
test around updatedAfterFuture and createdBeforeFuture to derive one runtime
future ISO date, such as by advancing the current date, and reuse it for both
CLI calls and filter assertions. Preserve the existing expectations that
updated-after returns zero items and created-before retains all items.
🪄 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: 8d500a5b-61b1-4d4c-a2a6-125cfbb50980
📒 Files selected for processing (30)
.agents/pm/history/pm-9x6e.jsonl.agents/pm/tasks/pm-9x6e.toondocs/SDK.mdpackages/pm-governance-audit/extensions/governance-audit/comments-audit.tspackages/pm-governance-audit/extensions/governance-audit/dedupe-audit.tspackages/pm-governance-audit/extensions/governance-audit/dedupe-merge.tspackages/pm-governance-audit/extensions/governance-audit/normalize.tspackages/pm-governance-audit/extensions/governance-audit/runtime-utils.tspackages/pm-governance-audit/extensions/governance-audit/sdk.tssrc/cli/commands/update-many.tssrc/sdk/eval.tssrc/sdk/index.tssrc/sdk/query/list.tssrc/sdk/query/parsers.tssrc/sdk/query/search.tssrc/sdk/runtime.tssrc/sdk/stats.tssrc/sdk/test/batch.tssrc/sdk/test/entry.tssrc/sdk/test/execution.tssrc/sdk/test/parsers.tstests/unit/commands/linked-test-entry.spec.tstests/unit/commands/linked-test-parsers.spec.tstests/unit/commands/list-command.spec.tstests/unit/commands/search-command.spec.tstests/unit/commands/stats-command.spec.tstests/unit/commands/test-all-command.spec.tstests/unit/commands/test-command.spec.tstests/unit/core/item/parse-utils.spec.tstests/unit/packages/governance-audit-runtime.spec.ts
Prune stale ESLint suppression state and lower the enforced budget, document governance helpers, correct fractional timeout guidance, stabilize date-window fixtures, remove duplicated test setup, and record the exact bot-round evidence on pm-9x6e.
|
@greptileai please review the exact bot-fix head 469ca95. |
|
/gemini review |
|
@coderabbitai full review |
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 25 minutes. |
There was a problem hiding this comment.
Code Review
This pull request completes the promotion of core execution, diagnostics, and query primitives to the public SDK. It migrates the implementation of these features from the CLI command surface to dedicated SDK modules, while maintaining backward compatibility through thin CLI exports. Additionally, it improves sandbox cleanup reliability, fixes a Windows-specific test timeout regression, and cleans up the static quality gate by moving its configuration to a TypeScript-compatible format. No review comments were provided, so no feedback is necessary.
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.
Remove duplicate governance barrel paths while preserving the complete public SDK surface, reshape shared list filter resolvers for analyzer parity, close the verified Windows packed-install regression, and regenerate the pm-owned changelog from the final tracker state.
|
Review requested for exact head 7ad53dd after canonical governance exports, analyzer-safe query filters, verified Windows regression closeout, and final pm-changelog regeneration. @greptileai review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Code Review
This pull request completes a major architectural refactor by promoting core CLI command implementations into a public SDK. It introduces new SDK modules for evaluation, list/query operations, telemetry, and test execution, while updating existing CLI command files to serve as compatibility exports. The changes also include updates to project documentation, the changelog, and internal quality gates to reflect the new SDK-first structure. No review comments were provided for this pull request.
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.
Declare the analyzer dialect, Vitest runtime, ESM module system, and complexity profile explicitly so hosted analysis cannot reinterpret SDK modules as CommonJS scripts. Record the diagnosis and validation handoff on the living quality epic while leaving no inactive item in progress.
|
Review requested for exact head 5b2e2d2 after pinning the DeepSource TypeScript ESM/Vitest analyzer contract and recording the hosted analyzer mismatch. @greptileai review |
|
✅ Action performedFull review finished. |
|
This PR successfully promotes several core CLI command implementations into the public SDK, improving modularity and enabling better programmatic access to the project management runtime. The changes include:
These changes are well-structured and maintain the project's strict quality and coverage standards. No further action is required from my side. |
Restore the pre-promotion behavior for an explicit empty fail-under value while retaining strict validation for whitespace and invalid ranges. Add a TDD regression and record exact full-corpus coverage and review evidence on the living quality item.
|
Review requested for exact head 34ed577 after restoring SDK eval empty-threshold compatibility with TDD and exact 100/100/100/100 full coverage. Local Greptile review 2544081d-8f90-4d25-a450-ef203fbf0f99 completed at confidence 5/5 with no findings. @greptileai review |
|
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 34 minutes. |
|
This PR successfully promotes several core CLI command implementations into the public SDK, improving modularity and enabling better programmatic access to the project management runtime. The changes include:
These changes are well-structured and maintain the project's strict quality and coverage standards. No further action is required from my side. |
Document that noTruncate deliberately overrides limit, matching the GH-154 public contract, CLI help, shell completions, command reference, and regression coverage. Record the declined review suggestion and leave the living quality epic open and unclaimed.
|
Review requested for exact head bd6b03f after clarifying the established SDK noTruncate precedence and dispositioning the conflicting pagination suggestion. Local Greptile review 2f0f7676-edd3-4624-9118-857b296bb2f4 completed at confidence 5/5 with no findings. @greptileai review |
|
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 21 minutes. |
|
The changes in head |
|
Final review-hygiene inventory on head bd6b03f: all 75 bot review threads now have an explicit reaction and owner disposition; all remaining bot threads are resolved. Historical DeepSource CommonJS/dashboard false positives were down-voted with analyzer-context replies; implemented, superseded, and no-finding Gemini/CodeRabbit/Greptile feedback was up-voted and acknowledged. All 28 bot issue comments and all 54 currently inventoried bot review submissions were also reacted to. Final hosted Greptile is confidence 5/5 and green. |
Summary
pm lineage
Verification
pnpm release:gatesnpxsmoke and 88-command temporary-directory dogfood63dfd757-1e8b-4f11-904c-959c50b8fe28: confidence 5/5, no review comments, no files requiring attentionSummary by cubic
Promotes list/search engines and linked-test execution (with background runs), eval, telemetry, and stats into the public
sdk, withCLIcommands now thin compatibility exports. Clarifies in docs thatnoTruncateintentionally overrideslimitfor list responses.New Features
sdkAPIs:runList,runSearch(with pagination/rendering/parsers),runEval,runStats,runTelemetry,runTest,runTestAll, and test‑run lifecycle.fulllist mode and typed results (ListedItem,ListFullResult, tree/projection types); exported query parsers and item‑filter option types.Refactors
CLIcommands are compatibility exports; runtime/evaluation route through thesdk. Private‑core boundary remains at 51 sources / 412 edges;update-manybehavior unchanged.test‑alltimeouts, telemetry limit validation, and restored empty eval--fail-undersemantics (with strict validation). Canonical governance exports insdk/index.ts; normalized list‑filter resolvers.dialect: typescript,environment: [nodejs, vitest],module_system: es-modules, high complexity threshold) to prevent misclassification.docs/SDK.md/inventory updated (clarifiesnoTruncate>limit), changelog regenerated; Windows packed‑extension install test uses an explicit timeout and now passes.scripts/release/static-quality-gate.mtsrun viapnpm exec tsx; suppression map pruned; ESLint suppression budget lowered to 154.Written for commit bd6b03f. Summary will update on new commits.