Repository navigation
feat(issues): issue tracking as a workspace resource - #8692
TheodoreSpeaks wants to merge 5 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
There was a problem hiding this comment.
1 issue found across 117 files
Confidence score: 5/5
- The
bodyschema inapps/sim/lib/api/contracts/mothership-issues.tsallows 1 MiB of characters, butcreateIssueenforces a 1 MiB UTF-8 byte limit, so multibyte text can pass schema validation and then be rejected. Align the schema limit with the byte-based check.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/sim/lib/api/contracts/mothership-issues.ts">
<violation number="1" location="apps/sim/lib/api/contracts/mothership-issues.ts:16">
P3: The schema bounds `body` by character count (`1024 * 1024` chars), but `createIssue` enforces the limit as UTF-8 bytes: `Buffer.byteLength(input.body, 'utf-8') > MAX_BODY_BYTES` with `MAX_BODY_BYTES = 1024 * 1024` in `apps/sim/lib/issues/application/issues.ts`. A body of multi-byte characters (CJK, emoji) under 1M chars can exceed 1 MiB, pass this contract, then fail at write time with "The issue body is larger than 1 MB". Bound the body by bytes so the contract matches enforcement.</violation>
</file>
|
|
@cubic-dev-ai review this PR |
@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
1 issue found across 124 files
Confidence score: 3/5
apps/sim/lib/issues/repository.integration.tspasses a schema-name string where Drizzle expects table definitions, so the integration test setup fails before any cases run. Pass the imported schema module under a distinct alias.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/sim/lib/issues/repository.integration.ts">
<violation number="1" location="apps/sim/lib/issues/repository.integration.ts:60">
P2: This passes the dynamic schema-name string as Drizzle's relational `schema` config, which expects table definitions, so the test setup fails before its cases run. Pass the imported schema module under a non-shadowed alias, or omit the config if relational queries are not needed.</violation>
</file>
|
@cubic-dev-ai review this PR |
@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 125 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Turn on auto-fix | Re-trigger cubic
7a64e59 to
0b66a4b
Compare
|
@cubic-dev-ai review this PR |
@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 127 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 127 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Turn on auto-fix | Re-trigger cubic
af51106 to
9f29bfd
Compare
|
@cubic-dev-ai review this PR |
@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 127 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Turn on auto-fix | Re-trigger cubic
…onsistent list snapshot
… per-workspace issue numbers
9f29bfd to
adafb8a
Compare
|
@cubic-dev-ai review this PR |
@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 127 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@TheodoreSpeaks I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 127 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
Summary
issuesfeature flag (ISSUESenv fallback): a title, a markdown document, priority, owner, linked resources and Linear/Jira tickets, and an activity log with commentsinbox→in_progress(a Sim chat is working on it) →done(completed / dismissed / duplicate). Starting an issue kicks off a chat in the background with no redirect; the issue shows live while the chat runsSIM-<n>, numbered per organizationcontext = 'issue'. It reuses collaborative editing, versions and streamed writes, but like chat uploads it never appears as a file:issues/<KEY>.md(read and edit only). Newissuesmanagement tool (create / get) with anissuesentitlement; the matching Mothership change is a separate PRChipDropdowngainsselectedLabel(multi-select) andshowSelectedIcon(single-select)/api/workspaces/[id]/issues/**, plus public v2POST /api/v2/issuesandGET /api/v2/issues/{issueKey}with OpenAPI docs. The v2 issue operations stay out of thesimCLI while the flag rolls out0400_issue: newissue,issue_counter,issue_event,issue_resource,issue_external_linktables andcopilot_chats.issue_id. The FK is addedNOT VALID(the column is new and empty), the index is built concurrently, and a trigger sends an in-progress issue back to the inbox when its chat is detached or deletedType of Change
Testing
issues/<KEY>.mdrepository.integration.tscovers numbering, fingerprint dedupe and the chat-detach triggerbun run lint,bun run check:audits,check:migrations origin/staging, docs-manifest and block-registry checks pass; type-check left to CIissue.body_file_idFK); issue documents don't stream into the issue tab yetChecklist
🤖 Generated with Claude Code
https://claude.ai/code/session_01SugAVqYZM3k4tmFJv6xWEN