chore: consolidate specs into OpenSpec#23
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThis PR migrates documentation specifications from the Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 |
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)
openspec/changes/add-human-in-the-loop/specs/core/spec.md (2)
35-38: Avoid SHOULD for normative requirement wording.Spec guidance here prefers SHALL/MUST unless intentionally non‑normative. Consider promoting to MUST or explicitly marking it non‑normative. As per coding guidelines, avoid should/may in spec requirements.
38-41: Fix list indentation to keep bullets consistent.The extra leading space before the bullets can break list rendering.
🔧 Suggested fix
- - The system MUST return `404` when `runId` does not exist - - The system MUST return `410` when `wait_deadline_at` has expired +- The system MUST return `404` when `runId` does not exist +- The system MUST return `410` when `wait_deadline_at` has expired
🤖 Fix all issues with AI agents
In `@openspec/changes/add-human-in-the-loop/specs/react/spec.md`:
- Around line 11-14: The spec uses non-normative modal verbs (SHOULD) for what
are clearly required behaviors: update the lines referencing the hook parameters
and return values—specifically the `jobName` parameter, the `payloadSchema`
parameter, the returned object `{ waits, isLoading, reload, respond }`, and the
`respond(runId, payload)` behavior—to use normative language (replace SHOULD
with MUST) or explicitly mark them as non‑normative; ensure `respond(runId,
payload)` remains a MUST for resuming a Run and that the return contract `{
waits, isLoading, reload, respond }` is stated as mandatory.
| - The hook SHOULD accept `jobName` to filter waits by job | ||
| - The hook SHOULD accept `payloadSchema` to enable type inference and client-side validation | ||
| - The hook MUST return `{ waits, isLoading, reload, respond }` | ||
| - `respond(runId, payload)` MUST resume the Run with the given payload |
There was a problem hiding this comment.
Use SHALL/MUST for normative requirements.
The SHOULDs read like normative requirements. Consider upgrading to MUST or explicitly noting non‑normative intent. As per coding guidelines, avoid should/may in spec requirements.
✏️ Possible wording update
-- The hook SHOULD accept `jobName` to filter waits by job
-- The hook SHOULD accept `payloadSchema` to enable type inference and client-side validation
+- The hook MUST accept `jobName` to filter waits by job
+- The hook MUST accept `payloadSchema` to enable type inference and client-side validation
...
-- A WaitingRun SHOULD include `wait_schema` when available
+- A WaitingRun MUST include `wait_schema` when availableAlso applies to: 73-75
🤖 Prompt for AI Agents
In `@openspec/changes/add-human-in-the-loop/specs/react/spec.md` around lines 11 -
14, The spec uses non-normative modal verbs (SHOULD) for what are clearly
required behaviors: update the lines referencing the hook parameters and return
values—specifically the `jobName` parameter, the `payloadSchema` parameter, the
returned object `{ waits, isLoading, reload, respond }`, and the `respond(runId,
payload)` behavior—to use normative language (replace SHOULD with MUST) or
explicitly mark them as non‑normative; ensure `respond(runId, payload)` remains
a MUST for resuming a Run and that the return contract `{ waits, isLoading,
reload, respond }` is stated as mandatory.
Summary\n\n- Remove duplicated docs/spec-*.md files and keep OpenSpec as the single source of truth\n- Add for existing @coji/durably-react behavior\n- Update HITL change set with React spec deltas and job filter notes\n\n## Test plan\n\n- [x] Specification 'react' is valid\n- [x] Change 'add-human-in-the-loop' is valid\n
Summary by CodeRabbit
New Features
useHumanWaitshook for browser and server modesDocumentation
✏️ Tip: You can customize this high-level summary in your review settings.