R&D AI Helper — Linear-shaped, Workforce-native

Design spec v0.4 · scheduling primitives built into Workforce · no Linear subscription required
Preset v0.4 Replaces Linear · $0 extra to subscriber One-shot Linear import (then cancel)
Positioning

Workforce replaces Linear.

Workforce ships a Linear-shaped scheduling core — Teams, Cycles, Projects, Tasks, Subtasks, Estimates, Workflow states — as first-class primitives inside Workforce itself. Your engineers get the fastest, most engineer-loved shape in the industry, plus a layer Linear doesn't have: three-way agreement on required hours (AI + engineer + manager) before work starts. If you're on Linear today, we import your workspace and you cancel Linear. Ongoing coexistence is not offered — the whole point is you stop paying for Linear. A short transition sync exists only to let you switch in a weekend.

ReplacesLinear (Standard tier feature parity)
Included in Workforce$0 extra seat cost
Linear bill cancelled~$8 / engineer / month × everyone
Extra vs Linear3-way agreement · AI hours · fair KPI

1 · Data model — Linear → Workforce mapping

Linear conceptWorkforce equivalentNotes / what changes
WorkspaceSubscriber workspaceOne per Workforce subscriber. Auto-provisioned at signup — no separate Linear signup.
TeamTeamKbot-Link, Meet3, Kommerce-1, AutoOMS, etc. Same identifier prefix (KL, M3, K1, AO) drives issue IDs.
CycleCycleWeekly by default; team-configurable to 1/2/3 weeks. Cycle boundaries drive the weekly diary rollups.
ProjectProjectMulti-cycle initiative. e.g. "Kbot-Link OTA C+D" or "AutoOMS RMA refactor Phase 2".
IssueTaskRenamed to match how PM tools outside engineering talk. Same primitive.
Sub-issueSubtaskNested 1 level deep (Linear supports N; we cap at 1 to keep the diary rollup honest).
Estimate (points)Required hours changedHours, not points. Three-way-signed. Points map poorly to a fair KPI; hours are what actually get measured.
— (not in Linear)Actual hours newAuto-rolled from task-timer + commit-authoring windows. Delta = actual ÷ required drives the diary score.
— (not in Linear)AI-proposed hours newAI Helper's first proposal, stored with reasoning. Kept for calibration (were we systematically low?).
— (not in Linear)Three-way signatures newai_proposed_at, engineer_signed_at, manager_approved_at. Task cannot enter "In progress" until all three land.
Workflow stateWorkflow stateSame five: Backlog / To do / In progress / In review / Done. Plus Blocked as a flag (not a state) — matches Linear behavior.
LabelLabelSame. Labels drive the AI Helper's "which folder does this touch?" inference.
PriorityPrioritySame five: No priority / Urgent / High / Medium / Low.
AssigneeAssigneeSame. Exactly one primary; Linear's multi-assignee dropped (KPI attribution needs one owner).
Views / filtersViews / filtersSame query grammar. Custom saved views per user.
RoadmapRoadmapSame. Projects on a timeline; drag to reschedule.
TriageTriageSame. Inbound bugs / feature requests land here before assignment.
GitHub integrationGitHub integrationPR-to-task linking, auto-close on merge, commit refs. Same wiring; runs on our GitHub App.

2 · Screens — what the engineer actually sees

Cycle view · this week

Same layout as Linear's cycle view. Grouped by workflow state; sortable by any column.

Kbot-Link · Cycle 38 · Sep 15 – Sep 21 8 issues · 34h estimated
KL-142OTA phased-rollout picker4h · 4hSep 14
CL
KL-143One-click rollback + confirm4h · 4hSep 15
CL
KL-144Empty-state onboarding + sample4h · 3.5hSep 16
CL
KL-145Merge, deploy, verify prod2h · 1.5hSep 17
CL
M3-88Consent silent-decline capture8h · 5hSep 18
CL
M3-89Long-call summary hallucination9h · —Sep 23
CL

Issue detail · with three-way agreement

Everything Linear has, plus the dashed panel — the Workforce-only fields.

M3-88

Meet3 · Recording consent — silent-decline capture

Team
Meet3
Project
Meet3 · Consent & compliance
Cycle
Cycle 38 (Sep 15 – Sep 21)
Assignee
Charles Liu (temp)
Priority
High
State
In progress
Labels
compliance · frontend · backend
Workforce · required hours
8h — three-way signed
AI proposed 6h · Charles countered 8h (edge-case surface) · converged R2 · Steve approved 2026-09-18 09:15 UTC
Workforce · actual hours (live)
5h so far · delta 0.63 · on plan
Workforce · linked PRs
#1912 Add consent_state enum + migration
#1913 Block record until first explicit accept

Sub-issues (4): 2.1 Reproduce · 2.2 Backend enum · 2.3 Frontend block · 2.4 Compliance review.

3 · Switching from Linear — one-shot import, then cancel

We don't run alongside Linear. The goal is that you stop paying Linear. The switch is designed to fit in a single weekend, with an optional 14-day read-only sync as a safety net during handover.

1 · Connect (Fri)Admin pastes Linear API token in Workforce settings. Full read scope; we don't need write in Linear.
2 · Import (Fri night)Full workspace: teams, cycles, projects, issues, subtasks, labels, comments, workflow history, GitHub links. Preserves Linear IDs so PR references still resolve.
3 · Cutover (Sat)Engineers log in to Workforce, verify their cycle. Linear becomes read-only for 14 days (safety net); all writes happen in Workforce.
4 · Cancel Linear (Sat + 14)Two weeks of clean use → downgrade / cancel Linear seats. Workforce is now the only scheduling tool.

The 14-day sync is one-way (Linear → Workforce read-only) and time-boxed. We do not offer permanent two-way coexistence — that would defeat the "cancel Linear" outcome and split the team's attention across two tools. Subscribers who have never used Linear skip this section entirely.

4 · Feature parity — Workforce vs Linear (Standard tier)

Capability Linear Standard Workforce built-in Advantage
Teams, cycles, projects, issues, sub-issuesYesYesParity
Workflow states, priorities, labelsYesYesParity
EstimatesYes (points)Yes (hours)Workforce — hours are what get measured
RoadmapYesYesParity
Triage inboxYesYesParity
Custom views + saved filtersYesYesParity
GitHub / GitLab integrationYesYesParity
Slack integrationYesZoom (Slack on request)Different chat surface, same idea
Keyboard-first UXYesYes (we mirror Linear's shortcuts)Parity
API + webhooksYesYesParity
AI-proposed estimatesNoYesWorkforce only
Three-way agreement on estimatesNoYesWorkforce only
Actual-hour tracking + delta scoreNoYesWorkforce only
Daily / Weekly / Monthly diary rollupNoYesWorkforce only
Fair-score KPI per engineerNoYesWorkforce only
Seat cost$8 / user / moIncluded in Workforce~$8 / engineer / mo saved

5 · What we do NOT build

6 · Only two migration paths

Path A · Coming from Linear

Import over a weekend · cancel Linear

Full workspace import (teams, cycles, projects, tasks, subtasks, labels, comments, workflow history, PR links). Cutover Saturday; 14-day one-way read-only sync as safety net; cancel Linear at day 15. Not permanent coexistence — the switch is the whole point.

Path B · Never had Linear

Native from day one

Workforce provisions the workspace, seeds a starter team + cycle, engineer signs T0 access, first task is ready in minutes. Linear never enters the flow.

R&D AI Helper v0.4 · Linear-shaped scheduling primitives built into Workforce · Workforce replaces Linear; permanent coexistence is not on offer. Three-way agreement on required hours (AI + engineer + manager) is the one thing Linear does not do, and the whole reason the fair-score KPI works. Path A (coming from Linear) or Path B (fresh) — no third option.