Repository navigation
Make SDK context evidence truthful, semantic, and reversible - #983
Conversation
Deliver a broad SDK and CLI context-integrity tranche across assurance, graph governance, health, annotation recovery, and linked-test evidence mutation.\n\n- evaluate assurance against authoritative metadata with missing/present predicates and definition fingerprints\n- attribute assurance writes through detected authors and enforce semantic graph composition\n- expose row-level health truth across SDK and CLI projections\n- provide role-labelled annotation recovery and partition the generated error catalog\n- make linked-test removal delimiter-safe, indexed, observable, and fail-closed\n- align contracts, docs, changelog, coverage, package smoke, and PM evidence\n\nTracks pm-py7qv2, pm-33mjrw, pm-q6n8sj, pm-h97qxd, pm-rncuf7, and pm-m0b7h8.
|
Warning Review limit reached
Next review available in: 30 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 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 configurationConfiguration used: Repository UI (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (75)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis PR updates assurance governance, graph composition metrics, health-row contracts, CLI recovery, linked-test removal, generated error catalogs, public schemas, documentation, tests, and project-management evidence. ChangesPlatform contract updates
Estimated code review effort: 5 (Critical) | ~120 minutes 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches 💡 1📝 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 |
|
@greptileai please review this exact head. @coderabbitai full review |
There was a problem hiding this comment.
Sorry @unbraind, your pull request is larger than the review limit of 150000 diff characters
|
|
Reviewer's GuideRefactors error-code catalog generation into partitioned modules, strengthens SDK assurance semantics and provenance (including full-metadata item sources, field presence predicates, dependency-kind canonicalization, measurement definition fingerprints, and author resolution), enriches relationship graph and health contracts, and makes linked-test and annotation mutations delimiter-safe, index-addressable, and semantically recoverable across CLI, SDK, MCP, and docs. Sequence diagram for assurance gate evaluation and verdict recordingsequenceDiagram
participant Caller
participant evaluateAssuranceGate
participant evaluateMeasurement
participant evaluateMeasurementInternal
participant createHash
participant evaluateAssuranceAssertion
participant recordAssuranceVerdict
participant readSettings
participant appendWorkspaceAuditEvent
Caller->>evaluateAssuranceGate: evaluateAssuranceGate(gateId, document, context, options)
loop assertion_ids
evaluateAssuranceGate->>evaluateMeasurement: evaluateMeasurement(measurementDefinition, scopedContext, document.measurements)
evaluateMeasurement->>evaluateMeasurementInternal: evaluateMeasurementInternal(definition, context, stack, state)
activate evaluateMeasurementInternal
evaluateMeasurementInternal->>createHash: createHash("sha256")
createHash-->>evaluateMeasurementInternal: digest(definition_fingerprint)
deactivate evaluateMeasurementInternal
evaluateAssuranceGate->>evaluateAssuranceAssertion: evaluateAssuranceAssertion(assertionDefinition, measurementResult, { owner_terminal })
evaluateAssuranceAssertion-->>evaluateAssuranceGate: AssuranceAssertionVerdict
end
evaluateAssuranceGate-->>Caller: AssuranceGateVerdict
Caller->>recordAssuranceVerdict: recordAssuranceVerdict(pmRoot, verdict, options)
activate recordAssuranceVerdict
recordAssuranceVerdict->>readSettings: readSettings(pmRoot)
readSettings-->>recordAssuranceVerdict: settings (author_default)
recordAssuranceVerdict->>appendWorkspaceAuditEvent: appendWorkspaceAuditEvent({ op:"assurance:gate:verdict", author: resolveAuthor(options.author, settings.author_default), context:{ assurance_verdict: verdict } })
appendWorkspaceAuditEvent-->>recordAssuranceVerdict: void
deactivate recordAssuranceVerdict
recordAssuranceVerdict-->>Caller: void
Sequence diagram for linked-test removal with index-based selectionsequenceDiagram
actor User
participant pm_test_command
participant collectTestMutationValues
participant validateBackgroundTestOptions
participant runForegroundLinkedTests
participant runBackgroundLinkedTests
participant runTest
participant runStartBackgroundRun
User->>pm_test_command: pm test <id> --remove-index 2 --run
pm_test_command->>collectTestMutationValues: collectTestMutationValues(options)
collectTestMutationValues-->>pm_test_command: { addValues, addJsonValues, removeValues, removeIndexValues }
pm_test_command->>validateBackgroundTestOptions: validateBackgroundTestOptions(options, values)
validateBackgroundTestOptions-->>pm_test_command: void
alt options.background === true
pm_test_command->>runBackgroundLinkedTests: runBackgroundLinkedTests(id, options, values)
runBackgroundLinkedTests->>runStartBackgroundRun: runStartBackgroundRun(pmRoot, { testOptions: { removeIndex: values.removeIndexValues, ... } })
runStartBackgroundRun-->>runBackgroundLinkedTests: result
runBackgroundLinkedTests-->>pm_test_command: void
else foreground
pm_test_command->>runForegroundLinkedTests: runForegroundLinkedTests(id, options, values)
runForegroundLinkedTests->>runTest: runTest(pmRoot, id, buildRunTestOptions(options, values))
runTest-->>runForegroundLinkedTests: result
alt values.addValues.length>0 || values.addJsonValues.length>0 || values.removeValues.length>0 || values.removeIndexValues.length>0 || options.run === true
runForegroundLinkedTests->>runTest: invalidateSearchCachesForMutation(...)
end
runForegroundLinkedTests-->>pm_test_command: void
end
pm_test_command-->>User: JSON result with removed linked tests
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Merging this PR will degrade performance by 0.75%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ❌ | build index (2000 docs x 80 words) |
360.4 ms | 370.2 ms | -2.63% |
| ❌ | build index (200 docs x 40 words) |
18.8 ms | 19.1 ms | -1.24% |
| ❌ | encodeQueryCursor |
259.2 µs | 262.3 µs | -1.17% |
| ⚡ | createQueryFingerprint |
1.5 ms | 1.4 ms | +2.09% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing feat/truthful-context-evidence-contracts (658f9d8) with main (6537649)
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Actionable comments posted: 18
🤖 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/history/pm-33mjrw.jsonl:
- Around line 13-14: Keep both PM items active until PR `#983` is merged: in
.agents/pm/history/pm-33mjrw.jsonl lines 13-14, reopen and claim pm-33mjrw and
defer close/release; apply the same reopen-and-claim correction to pm-m0b7h8 in
.agents/pm/history/pm-m0b7h8.jsonl lines 15-16. Only record pm close and pm
release after exact merged-head evidence for PR `#983` exists at both referenced
history entries.
In @.agents/pm/history/pm-h97qxd.jsonl:
- Around line 15-18: Keep pm-h97qxd claimed and in_progress until
registry-backed package-default bunx acceptance succeeds: update
.agents/pm/history/pm-h97qxd.jsonl at lines 15-18 so the premature close/release
state is corrected or superseded, and regenerate
.agents/pm/issues/pm-h97qxd.toon at lines 5-11 and 39-58 with the item remaining
open and its pending verification note replaced only after successful verifier
evidence.
In @.agents/pm/history/pm-q6n8sj.jsonl:
- Line 9: Append a new PM comment to the history using the existing
comment-append mechanism, stating that the evidence execution date uses
Europe/Vienna while event timestamp fields remain UTC. Do not modify the
existing hash-chained entry or its embedded comment, and preserve the history
chain integrity.
In @.agents/pm/history/pm-rncuf7.jsonl:
- Around line 20-21: Restore PM items pm-rncuf7 and pm-m0b7h8 through the
supported PM CLI lifecycle, reclaim ownership, and regenerate projections; apply
this to .agents/pm/history/pm-rncuf7.jsonl lines 20-21,
.agents/pm/issues/pm-rncuf7.toon lines 5-11, and
.agents/pm/issues/pm-m0b7h8.toon lines 5-11. Keep both active while HEAD is
detached or not an ancestor of origin/main, and close/release them only after
recording the exact merged commit and verifying merged-head evidence.
In `@CHANGELOG.md`:
- Around line 5-8: Update the changelog classifier so the Issue fallback runs
before title-only “add” keyword detection, preventing pm-q6n8sj from being
classified as Added. Then regenerate CHANGELOG.md through the normal generation
workflow and preserve the generated output rather than moving the line manually.
In `@docs/TRUSTWORTHY_CONTEXT_EVIDENCE.md`:
- Line 88: Update the command= selector in the pm-example test invocation to use
shell-safe quoting for the nested node command, preserving the comma and equals
sign so the stored command remains valid when the linked test executes.
In `@src/cli/error-guidance.ts`:
- Around line 1492-1535: Update buildTransposedCollectionActionGuidance to
resolve and validate itemId through CommanderGuidanceContext before constructing
suggestedRetry or emitting guidance. Add the verified item lookup/result to the
context, and return null when no existing item ID is found; only then generate
collection_transposed_subcommand using the verified value.
In `@src/cli/register-annotations.ts`:
- Around line 133-135: Update the option parsing around addFromOption to detect
when both --add and --note are provided with distinct values and reject the
conflicting combination before choosing an alias. Preserve normal behavior when
only one alias is supplied, and add a regression test covering distinct values
for both options.
- Around line 45-63: Update the retry construction near suggestedRetry so
undefined suppliedText selects a valid source-specific command: use --add - or
--stdin for stdin input, and preserve --file with its path for file input. Keep
the existing JSON-quoted --add value for supplied text, and ensure
recovery.suggested_retry never emits bare --add.
- Around line 45-63: The suggestedRetry construction uses JSON.stringify, which
is not safe shell quoting for user-derived annotation text. Update the error
recovery data around suggestedRetry and the PmCliError payload to use the
existing CLI shell-quoting helper for every user-derived argument, or provide
structured argv data instead; preserve the recovery guidance and avoid emitting
executable or expandable shell text.
In `@src/sdk/governance/assurance-runtime.ts`:
- Around line 77-99: Add the required boolean ok property to ValidateCheck and
each of the eight runValidate check builders, setting it to status === "ok" for
every row. Keep the existing runHealth behavior and checkValue handling
unchanged.
In `@src/sdk/governance/assurance.ts`:
- Around line 659-675: Replace the predicateContractErrors string-keyed truth
table in the source.kind === "items" validation with two explicit conditions:
require exactly one of equals or state when source.field is defined, and require
source.field when either predicate is supplied. Preserve Object.hasOwn(source,
"equals") so explicit equals: null counts as supplied, and keep both existing
error messages unchanged.
In `@src/sdk/graph/durable-cache.ts`:
- Around line 309-329: Extend the profile decoder validation after the existing
optional-field checks to verify composition fields against the totals in
edges_by_kind and the corresponding edge counts. Require edge_share_by_kind and
semantic_edge_share to match their count-derived shares, and ensure
semantic_edges is consistent with the relevant total; retain the existing
zero/empty defaults when all composition fields are absent. Use the surrounding
profile-decoding symbols rather than changing unrelated validation.
In `@tests/fixtures/contracts/full.json`:
- Around line 13925-13941: Update the catalog-generation metadata for
collection_transposed_subcommand to use Commander’s usage-error classification
and exit code 2 instead of generic_failure and exit code 1, then regenerate the
affected catalog and fixture so the generated entries are consistent.
In `@tests/unit/cli/error-guidance.spec.ts`:
- Around line 702-721: Strengthen the malformed-entry check in the test “renders
typed positional roles and defensively normalizes malformed roles” by asserting
the rendered parsed_positionals block contains only the valid
transposed_subcommand entry. Ensure the assertion rejects any output containing
the malformed role or value, including numeric or null renderings, rather than
checking only the literal "- : " form.
In `@tests/unit/commands/health-command.spec.ts`:
- Around line 3048-3050: Strengthen the brief-result assertion near the health
checks by adding a fixture whose status is not "ok", then verify each check
derives ok exactly as (check.status === "ok"). Replace the type-only boolean
assertion while preserving coverage of the brief projection result.
In `@tests/unit/scripts/generate-error-code-catalog.spec.ts`:
- Around line 9-20: Update readGeneratedCatalog to avoid hardcoding
generated-error-code-catalog part filenames; enumerate the generated directory
with readdir or reuse GENERATED_CATALOG_PART_COUNT from the generator, then read
every discovered/expected part alongside the main catalog so assertions always
cover all generated output.
In `@tests/unit/sdk/assurance.spec.ts`:
- Around line 668-676: Add a neighboring evaluation test for the absent
`priority` field that uses an `equals: null` predicate and asserts the result
has value 2 and population_size 2, matching the existing `missing-priority`
fixture and expected count. Keep the assertion focused on evaluation behavior so
it protects null equality handling in `valuesEqual`.
🪄 Autofix
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: b2886d34-b284-4c43-92b8-5c3bfd38ed54
⛔ Files ignored due to path filters (2)
src/sdk/generated/generated-error-code-catalog-part-1.tsis excluded by!**/generated/**src/sdk/generated/generated-error-code-catalog-part-2.tsis excluded by!**/generated/**
📒 Files selected for processing (52)
.agents/pm/assurance.json.agents/pm/history/_workspace.jsonl.agents/pm/history/pm-33mjrw.jsonl.agents/pm/history/pm-h97qxd.jsonl.agents/pm/history/pm-m0b7h8.jsonl.agents/pm/history/pm-py7qv2.jsonl.agents/pm/history/pm-q6n8sj.jsonl.agents/pm/history/pm-rncuf7.jsonl.agents/pm/issues/pm-33mjrw.toon.agents/pm/issues/pm-h97qxd.toon.agents/pm/issues/pm-m0b7h8.toon.agents/pm/issues/pm-py7qv2.toon.agents/pm/issues/pm-q6n8sj.toon.agents/pm/issues/pm-rncuf7.toonCHANGELOG.mddocs/ASSURANCE.mddocs/DEPENDENCY_KIND_CONTRACT.mddocs/README.mddocs/SDK_CONTEXT_INTEGRITY.mddocs/TRUSTWORTHY_CONTEXT_EVIDENCE.mdscripts/generate-error-code-catalog.mjsscripts/release/surface-replication-sets.jsonscripts/release/token-budgets.jsonsdk/public-surface.jsonsrc/cli/error-guidance.tssrc/cli/register-annotations.tssrc/cli/register-operations.tssrc/core/shared/errors.tssrc/sdk/cli-contracts/flag-contracts.tssrc/sdk/cli-contracts/registration-helpers.tssrc/sdk/cli-contracts/schemas/assurance-definition.tssrc/sdk/cli-contracts/tool-parameter-tables.tssrc/sdk/cli-contracts/tool-schema.tssrc/sdk/completion.tssrc/sdk/generated-error-code-catalog.tssrc/sdk/governance/assurance-runtime.tssrc/sdk/governance/assurance.tssrc/sdk/governance/health.tssrc/sdk/graph/durable-cache.tssrc/sdk/graph/governance.tssrc/sdk/runtime-primitives.tssrc/sdk/test/execution.tstests/fixtures/contracts/full.jsontests/unit/cli/error-guidance.spec.tstests/unit/commands/health-command.spec.tstests/unit/commands/register-commands.spec.tstests/unit/commands/test-command.spec.tstests/unit/scripts/generate-error-code-catalog.spec.tstests/unit/sdk/assurance.spec.tstests/unit/sdk/graph/assembly-governance.spec.tstests/unit/sdk/graph/durable-cache.spec.tstests/unit/sdk/health-vector-boundary.spec.ts
Address exact-head review findings across assurance metadata, graph cache coherence, drift validation, provenance health, CLI guidance, annotation retries, and generated error contracts. Stabilize SDK cold-import admission on five-sample medians while retaining p95 diagnostics and strict RSS budgets. Add focused regressions, exact coverage evidence, updated agent documentation, pm-changelog 2026.8.12 output, and rich PM lineage for the active tranche.
|
@coderabbitai full review Please review exact head 36708c0. This update addresses the first review inventory and adds authoritative drift scanning, legacy provenance health disposition, deterministic SDK import-cost admission, and complete executable regressions. |
|
🧠 Learnings used
|
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
scripts/generate-error-code-catalog.mjs (1)
46-47: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick winReject stale generated partition files in check mode.
--checkvalidates only the two partitions created fromGENERATED_CATALOG_PART_COUNT. It does not detect an extragenerated-error-code-catalog-part-N.tsfile, and tests cover only missing or modified expected files. Comparesrc/sdk/generatedwith the expected partition set and add an extra-partition regression test.🤖 Prompt for 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. In `@scripts/generate-error-code-catalog.mjs` around lines 46 - 47, Update the --check validation around GENERATED_CATALOG_PART_COUNT to compare src/sdk/generated against the complete expected partition set, rejecting any extra generated-error-code-catalog-part-N.ts files as stale. Add a regression test covering an unexpected extra partition while preserving existing missing and modified partition checks.src/cli/register-annotations.ts (1)
38-74: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winVerify the item before emitting recovery.
This path treats
text.trim()as an item ID without checking the selected tracker. For example,pm notes add draftemitspm notes draft --add -even whendraftdoes not exist.Resolve the candidate item before setting
recovery.suggested_retry. If lookup fails, keep the usage error but omit transposition recovery. Add a regression for a missing candidate ID.The earlier tracker-validation concern remains reachable through this direct
PmCliErrorpath.🤖 Prompt for 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. In `@src/cli/register-annotations.ts` around lines 38 - 74, Update the transposed-subcommand handling in the annotation registration flow to resolve and validate text.trim() as an item ID against the selected tracker before constructing recovery metadata or suggested retry commands. If lookup fails, still throw the existing usage PmCliError but omit transposition recovery; preserve recovery for valid candidates and add a regression covering a missing candidate ID.
♻️ Duplicate comments (1)
tests/unit/commands/health-command.spec.ts (1)
3048-3050: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAssert the brief projection's
okvalue.The assertion at Lines 3048-3050 checks only that
okis boolean. It passes when a warning row exposes the wrong value. Add a non-"ok"fixture and assertcheck.ok === (check.status === "ok"). The equality assertion at Lines 3327-3331 already covers this relation in another projection.🤖 Prompt for 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. In `@tests/unit/commands/health-command.spec.ts` around lines 3048 - 3050, Update the health check projection test around the existing health.checks assertion to include a non-"ok" status fixture, then assert each check’s ok value equals whether check.status is "ok". Replace the boolean-type-only expectation while preserving the existing projection coverage.
🤖 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/governance/assurance.ts`:
- Around line 661-672: Update validateMeasurementDefinition to reject any
defined source.state value other than "present" or "missing" before computing
predicateCount, while preserving the existing field/predicate validation. Add a
runtime regression test using an invalid cast or parsed declaration to verify
unsupported items.state values are refused.
---
Outside diff comments:
In `@scripts/generate-error-code-catalog.mjs`:
- Around line 46-47: Update the --check validation around
GENERATED_CATALOG_PART_COUNT to compare src/sdk/generated against the complete
expected partition set, rejecting any extra
generated-error-code-catalog-part-N.ts files as stale. Add a regression test
covering an unexpected extra partition while preserving existing missing and
modified partition checks.
In `@src/cli/register-annotations.ts`:
- Around line 38-74: Update the transposed-subcommand handling in the annotation
registration flow to resolve and validate text.trim() as an item ID against the
selected tracker before constructing recovery metadata or suggested retry
commands. If lookup fails, still throw the existing usage PmCliError but omit
transposition recovery; preserve recovery for valid candidates and add a
regression covering a missing candidate ID.
---
Duplicate comments:
In `@tests/unit/commands/health-command.spec.ts`:
- Around line 3048-3050: Update the health check projection test around the
existing health.checks assertion to include a non-"ok" status fixture, then
assert each check’s ok value equals whether check.status is "ok". Replace the
boolean-type-only expectation while preserving the existing projection coverage.
🪄 Autofix
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: 2f639500-4109-4717-8903-c69c43151436
⛔ Files ignored due to path filters (2)
src/sdk/generated/generated-error-code-catalog-part-1.tsis excluded by!**/generated/**src/sdk/generated/generated-error-code-catalog-part-2.tsis excluded by!**/generated/**
📒 Files selected for processing (44)
.agents/pm/extensions/.managed-extensions.json.agents/pm/history/pm-5q8wa0.jsonl.agents/pm/history/pm-c6urop.jsonl.agents/pm/history/pm-cg1sjb.jsonl.agents/pm/history/pm-eax4y8.jsonl.agents/pm/history/pm-q6n8sj.jsonl.agents/pm/history/pm-wqhzhg.jsonl.agents/pm/issues/pm-5q8wa0.toon.agents/pm/issues/pm-c6urop.toon.agents/pm/issues/pm-cg1sjb.toon.agents/pm/issues/pm-eax4y8.toon.agents/pm/issues/pm-q6n8sj.toon.agents/pm/issues/pm-wqhzhg.toonCHANGELOG.mddocs/SDK_AGENT_SESSION_CONTEXT.mddocs/TRUSTWORTHY_CONTEXT_EVIDENCE.mddocs/performance/sdk-entrypoint-import-costs.mdscripts/bench/sdk-entrypoint-costs.mjsscripts/generate-error-code-catalog.mjsscripts/release/surface-replication-sets.jsonsdk/public-surface.jsonsrc/cli/commander-usage.tssrc/cli/error-guidance.tssrc/cli/register-annotations.tssrc/core/store/item-metadata-cache.tssrc/sdk/governance/assurance-runtime.tssrc/sdk/governance/assurance.tssrc/sdk/governance/health.tssrc/sdk/governance/validate-item-reader.tssrc/sdk/governance/validate.tssrc/sdk/graph/durable-cache.tssrc/sdk/graph/governance.tstests/fixtures/contracts/full.jsontests/integration/provenance-value-health.integration.spec.tstests/unit/cli/cli-main-errors.spec.tstests/unit/cli/error-guidance.spec.tstests/unit/commands/health-command.spec.tstests/unit/commands/register-commands.spec.tstests/unit/commands/validate-command.spec.tstests/unit/scripts/generate-error-code-catalog.spec.tstests/unit/scripts/sdk-entrypoint-costs.spec.tstests/unit/sdk/assurance-runtime.spec.tstests/unit/sdk/assurance.spec.tstests/unit/sdk/graph/durable-cache.spec.ts
Keep pm-c6urop open and unclaimed while moving it under the active roadmap and declaring its planning estimate. Record the hosted exact-head gate evidence on the review-hardening item.
|
@coderabbitai full review Please re-review exact head bc3205c. The only delta after the previous review request is PM context: the discovered, intentionally unclaimed follow-up now has an active roadmap parent and explicit estimate so hosted tracker ratchets are truthful. |
|
I will assess the PM context delta for tracker consistency. I will not treat generated 🧠 Learnings used
|
Validate persisted item measurement state values before predicate evaluation and add a runtime regression for parsed declarations. Preserve complexity, docstring, exact coverage, contract, and full static gates.
|
@coderabbitai full review Please review exact head 658f9d8. This commit implements the valid major runtime-contract finding: parsed assurance item sources now reject unsupported state values, with an executable regression and exact 100/100/100/100 coverage. |
|
I will assess the assurance item-source state validation and its regression coverage. I will use the hosted exact-head check inventory as validation evidence. 🧠 Learnings used
|
|
Sourcery guidance and review-size limitation were reviewed. Provider inability to review the large tranche was not treated as approval. |
|
The oversized-review limitation is acknowledged. It is not treated as approval; the tranche is covered by repository gates, manual acceptance, and other review findings. |
|
Walkthrough and findings reviewed. Every actionable thread is fixed and resolved. The external docstring warning conflicts with the repository static docstring gate, which passed at 100 percent on the exact head. |
|
Review acknowledgement read. No additional inline finding was attached; provider availability remains a documented limitation. |
|
Codecov patch coverage was reviewed. Independent full repository coverage is exactly 100 percent for statements, branches, functions, and lines. |
|
Exact-head review response reviewed. Provider unavailability is recorded separately from approval; hosted gates and resolved actionable threads provide the merge evidence. |
|
Exact-head review response reviewed and recorded. All current hosted checks are terminal and all available actionable review threads are resolved. |
|
Exact-head review response reviewed and recorded. The provider limit is not counted as approval; all available actionable findings were addressed. |
|
Rate limiting is recorded as provider unavailability and was not treated as approval. Exact-head hosted gates and the actionable review inventory are complete. |
|
Review fully read. The unsupported runtime state finding was valid, fixed, regression-tested, and resolved on exact head 658f9d8. |
|
Reviewed the reported aggregate benchmark delta. Dedicated entrypoint and transport budget gates passed and the change remains below enforced regression thresholds. |
|
Review fully read. All actionable findings were implemented with regressions and every thread is resolved on the exact head. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
The associated inline acknowledgement review was read, reconciled with the exact head, and recorded; it introduces no unresolved finding. |
|
Second-order review acknowledgement inventory: all 18 CodeRabbit inline acknowledgement or rate-limit responses and their 18 empty review containers were read and reacted to. They are responses to already-addressed thread comments, contain no new unresolved finding, and are recorded here without further per-thread replies because another reply only creates a new automated acknowledgement container. The substantive correction in discussion_r3763147195 is accepted: equals null matches explicit null, while state missing matches absent fields. |
Summary
This broad SDK and CLI tranche makes project-management context evidence authoritative, semantic, reversible, and stable under real agent workloads.
okvalues while treating immutable legacy provenance violations as visible advisory findings instead of permanently blocking otherwise healthy workspacespm-changelog2026.8.12 through companion PR #138 and its published npm/GitHub releasePM items
okparityVerification
pnpm lint, typecheck, contracts, changelog check, secret scan, production audit, graph assurance, record integrity, and SDK entrypoint cost gates passedpm validate --check-history-driftreports zero drift andpm health --check-onlyreports all ten checks healthyPM_DOGFOOD_SEMANTICwas unset and is not counted as acceptanceCloses #979
Closes #980
Closes #982