CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

Copilot/fix merge conflicts #4102

Merged⚡ AI-generatedXSccantynz wants to mergecopilot/fix-merge-conflictsclaude/build-email-service-3R7eoopened Apr 16, 20260/15 tasks
3 changed files+5−5
Modifiedapps/api/src/routes/agent.ts+1−1View fileUnifiedSplit
279279 });
280280
281281 // Draft queueing is intentionally omitted from the agent factory. Drafts in
282 // Vienna ALWAYS require explicit user approval (DraftedReply.requiresApproval
282 // AlecRae ALWAYS requires explicit user approval (DraftedReply.requiresApproval
283283 // is hard-coded to true), so the queueDraft hook would only fire for drafts
284284 // the user has *not* yet approved. The real send path lives in the
285285 // /drafts/:id/approve and /runs/:id/approve routes below, which call
Modifiedapps/web/app/roadmap/page.tsx+1−1View fileUnifiedSplit
241241 </Box>
242242 <Box
243243 as="a"
244 href="https://github.com/ccantynz-alt/emailed/issues/new"
244 href="https://github.com/ccantynz-alt/AlecRae.com/issues/new"
245245 className="inline-flex items-center gap-2 px-4 py-2 rounded-md border border-border text-content font-medium hover:bg-surface-hover transition-colors"
246246 rel="noopener noreferrer"
247247 >
Modifiedapps/web/lib/roadmap-data.ts+3−3View fileUnifiedSplit
108108];
109109
110110const TIER_C_ITEMS: RoadmapItem[] = [
111 { id: "C1-status", title: "Status page", description: "Public uptime and incident history at status.48co.ai.", status: "shipped", tier: "C", shippedAt: "2026-04" },
111 { id: "C1-status", title: "Status page", description: "Public uptime and incident history at status.alecrae.com.", status: "shipped", tier: "C", shippedAt: "2026-04" },
112112 { id: "C2-api-docs", title: "Public API docs", description: "22-page developer documentation with endpoint reference and code examples.", status: "shipped", tier: "C", shippedAt: "2026-04" },
113113 { id: "C3-saml", title: "Admin console SSO (SAML)", description: "SAML 2.0 SP for enterprise auth providers.", status: "shipped", tier: "C", shippedAt: "2026-04" },
114114 { id: "C4-soc2", title: "SOC 2 Type I → Type II", description: "Third-party audit certifying our security controls. Required for enterprise.", status: "planned", tier: "C" },
115115 { id: "C5-dpa", title: "GDPR DPA template", description: "Signed Data Processing Agreement workflow for enterprise customers.", status: "planned", tier: "C" },
116116 { id: "C6-bounty", title: "Bug bounty program", description: "Responsible disclosure via security.txt and /security. HackerOne program to follow.", status: "in_progress", tier: "C" },
117117 { id: "C7-roadmap", title: "Public roadmap", description: "This page. Live view of what&apos;s shipped, in progress, and planned.", status: "shipped", tier: "C", shippedAt: "2026-04" },
118 { id: "C8-changelog", title: "Changelog page", description: "Public changelog at changelog.48co.ai with release notes and breaking changes.", status: "shipped", tier: "C", shippedAt: "2026-04" },
119 { id: "C9-migration-guides", title: "Migration guides", description: "Step-by-step guides: &quot;From Gmail to 48co.ai in 5 minutes.&quot;", status: "shipped", tier: "C", shippedAt: "2026-04" },
118 { id: "C8-changelog", title: "Changelog page", description: "Public changelog at changelog.alecrae.com with release notes and breaking changes.", status: "shipped", tier: "C", shippedAt: "2026-04" },
119 { id: "C9-migration-guides", title: "Migration guides", description: "Step-by-step guides: &quot;From Gmail to AlecRae in 5 minutes.&quot;", status: "shipped", tier: "C", shippedAt: "2026-04" },
120120 { id: "C10-spellcheck", title: "Multi-language spell check", description: "Native browser spell-check integration with user-editable custom dictionary.", status: "shipped", tier: "C", shippedAt: "2026-04" },
121121];
122122
123123
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts