test(sdk): expand verb-field-lint's missing-sample message with actionable fix (#228) - #371
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 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 |
maintainability lens — PASSMaintainability review — PR #371Scope. Single-line error-message expansion in BlockersNone. Concerns
Notes
Net: a small, well-motivated readability improvement to a fail-closed guard. The concerns are drift-hygiene, not correctness. REVIEW_PASSED |
history lens — PASSBlockers: none. PR #371 passes the three HISTORY criteria.
Captured scope evidence: Concerns: The new wording “passes in-memory validation” at diff line 100 is less precise than the existing comment: the undefined-valued property remains enumerable, allowing the rejection test to exercise it. This wording ambiguity does not reintroduce the bug or establish a HISTORY blocker. Notes: I ran the requested history command and inspected repository guidance and relevant operational history. The PR’s test-plan boxes remain unchecked; I did not execute tests and make no test-pass claim. The older gate reference in REVIEW_PASSED |
structure lens — MISSING |
|
🎯 review-swarm: FAILED (M:pass H:pass S:missing) Lens transcripts posted as sibling comments above. |
…followup) Follow-up to #228 (merged as #371). Three additional cryptic throw sites extended with the (a) file:line to edit, (b) fix hint, (c) reason-for-pin pattern: - packages/sdk/tests/webhook.test.ts:29 — non-TCP server.address() explains the three likely causes (unawaited startup / socket-path port / exhausted ephemerals) rather than 'missing HTTP address'. - scripts/schema-metaschemas.mjs:45 — Unbundled meta-schema reference now names the roots list to add the schema to and explains the pin (unresolvable $ref would make Ajv throw at every consumer). - packages/sdk/tests/authored-use-loader.test.ts:22 — the body throw fixture now names the invariant it guards (loader must walk header only) and points at execute-authored-flow's gating signal. Not-in-scope: other test throws that fire when the SUT expected error (mock rejections, integration-test timing) are already meaningful in context. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82
…followup) (#379) Follow-up to #228 (merged as #371). Three additional cryptic throw sites extended with the (a) file:line to edit, (b) fix hint, (c) reason-for-pin pattern: - packages/sdk/tests/webhook.test.ts:29 — non-TCP server.address() explains the three likely causes (unawaited startup / socket-path port / exhausted ephemerals) rather than 'missing HTTP address'. - scripts/schema-metaschemas.mjs:45 — Unbundled meta-schema reference now names the roots list to add the schema to and explains the pin (unresolvable $ref would make Ajv throw at every consumer). - packages/sdk/tests/authored-use-loader.test.ts:22 — the body throw fixture now names the invariant it guards (loader must walk header only) and points at execute-authored-flow's gating signal. Not-in-scope: other test throws that fire when the SUT expected error (mock rejections, integration-test timing) are already meaningful in context. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Co-authored-by: kjgbot <kjgbot@agentrelay.dev>
Closes #228. Dogfooded via implement-slice.flow.ts on finn-mini.
Summary
Extends the
foreignFieldValuethrow inpackages/sdk/tests/verb-field-lint.test.tsto name (a) which map to edit, (b) the expected shape, and (c) the reason the pin exists.Test plan
Note
Low Risk
Test-only error message text; no production paths or validation logic change.
Overview
Improves the verb-field-lint test helper when a new step field is missing from
VERB_FIELD_VALUES: the thrown error now tells you to add an entry inpackages/sdk/tests/verb-field-lint.test.ts, shows the expected key shape, and explains why the pin matters (undefined values survive in-memory validation but disappear in YAML, so coverage would be fake).No runtime or validator behavior changes—only the failure text developers see while extending the foreign-field test generator.
Reviewed by Cursor Bugbot for commit d0c50c3. Bugbot is set up for automated code reviews on this repo. Configure here.