Contract
What Linen is being built to do
Every clause of the product Linen is building toward, and how much of it the code does today. Judged from the code and tests, not from plans.
11 of 138 clauses done
8% (11)65% (90)27% (37)
- 11 done
- 90 partial
- 37 missing
Judged at commit 9af1441 ·
Published clauses
4 done · 20 partial · 0 missing
of 24
Target and push further
7 done · 70 partial · 37 missing
of 114
Product target
- Category
- IT service management (ITSM) / employee service desk
- Replaces
- ServiceNow ITSM, Freshservice, Jira Service Management
- Must also beat
- Serval, Console, Atomicwork
- First buyer
- A US company of 50 to 500 people whose IT team runs employee help, access, onboarding and offboarding, devices and changes in Freshservice, Jira Service Management or ServiceNow ITSM; prices, budgets and asset values in USD, US time zones and federal holidays, W-2 employees and 1099 contractors
Progress by area
19 areasPublished · 4 areas
- Retained employee service floor0 done7 partial0 missing
- Authority, evidence and operation (retained safeguards)4 done3 partial0 missing
- Flagship service operations (retained)0 done3 partial0 missing
- Frontier extensions (retained)0 done7 partial0 missing
Target and push further · 15 areas
- Employee channels0 done5 partial4 missing
- Service catalog and approvals0 done4 partial1 missing
- Agent workspace and ticket operations0 done11 partial6 missing
- Notifications0 done1 partial1 missing
- Identity and SaaS access2 done1 partial7 missing
- Joiners, movers and leavers0 done6 partial1 missing
- Assets, devices and licences0 done7 partial4 missing
- Incidents and problems0 done5 partial1 missing
- Change management0 done7 partial0 missing
- IT projects0 done0 partial1 missing
- Knowledge1 done1 partial3 missing
- Reporting0 done4 partial1 missing
- Platform, administration and integration4 done7 partial3 missing
- Migration and coexistence0 done2 partial3 missing
- Push further with agents0 done9 partial1 missing
All clauses
Showing 138 of 138 clauses
| Clause | Title | Status | Evidence or gap |
|---|---|---|---|
| Retained employee service floor 0 done · 7 partial · 0 missing | |||
| E1published | Help and incidents | Partial | src/src/tests/tests/Gap: Slack/Teams intake missing; mail intake untested by a public-door test. |
| E2published | Access, device and software requests | Partial | src/src/tests/Gap: Effects only through Microsoft Graph fixtures; no MDM software install verified on the device. |
| E3published | Join, move and leave | Partial | src/src/tests/tests/Gap: No HRIS connector. |
| E4published | Custody and context | Partial | src/tests/Gap: No MDM feed. |
| E5published | Shared incidents and problems | Partial | src/tests/tests/Gap: No live monitoring connector; provider, hosted and owner acceptance unproven. |
| E6published | Controlled changes | Partial | src/tests/tests/Gap: No live provider change execution; hosted and owner acceptance unproven. |
| E7published | Knowledge and management review | Partial | src/tests/tests/Gap: No federated knowledge or dashboards; hosted and owner acceptance unproven. |
| Employee channels 0 done · 5 partial · 4 missing | |||
| CHANNEL-001target | Slack as a primary employee channel | Missing | Gap: No Slack app or connector: no DM, help-channel, reaction, shortcut, modal or App Home intake. |
| CHANNEL-002target | Microsoft Teams as a primary employee channel | Missing | Gap: No Teams app or connector: no personal chat, channel, message-extension, Adaptive Card or tab intake. |
| CHANNEL-003target | Email mailboxes | Partial | src/src/tests/Gap: No Gmail/Exchange mailbox connector or threading by headers. |
| CHANNEL-004target | Employee portal | Partial | src/src/tests/tests/Gap: No "my devices", notices, branding or custom domain. |
| CHANNEL-005target | Mobile for employees, approvers and technicians | Partial | tests/Gap: No native iOS/Android apps, push or quiet hours. |
| CHANNEL-006target | Conversational help that acts | Partial | src/src/tests/Gap: Portal only; no Slack/Teams or live agent handoff. |
| CHANNEL-007target | Phone and walk-up intake | Missing | Gap: No phone-system or walk-up intake. |
| CHANNEL-008target | Service notices to employees | Partial | src/tests/Gap: No portal banner or chat posting. |
| CHANNEL-009target | Request sharing and manager visibility | Missing | Gap: No request sharing or manager team view. |
| Service catalog and approvals 0 done · 4 partial · 1 missing | |||
| CATALOG-001target | Catalog items with forms | Partial | src/tests/Gap: No form builder, conditional fields, required attachments, audience or cost. |
| CATALOG-002target | Approval chains | Partial | src/src/tests/tests/Gap: Single manager approval; no multi-level, finance threshold, approval SLA or email-reply approval. |
| CATALOG-003target | Fulfilment task plans | Partial | src/src/tests/Gap: No team task templates. |
| CATALOG-004target | Bundles and kits | Missing | Gap: No bundles. |
| CATALOG-005target | Software requests installed through MDM | Partial | src/src/Gap: Software is a catalog kind fulfilled as an access grant; no MDM app binding, install-group assignment, installed-inventory verification, deployment failure task or lease uninstall. |
| Agent workspace and ticket operations 0 done · 11 partial · 6 missing | |||
| DESK-001target | Queues, groups and views | Partial | src/src/Gap: No groups, saved views, bulk actions or triage shortcuts. |
| DESK-002target | Classification and priority | Partial | src/tests/Gap: No categories or priority matrix. |
| DESK-003target | Routing and assignment | Partial | src/src/Gap: No rules, round-robin, load, skills or CI/service support-group routing. |
| DESK-004target | SLA policies | Partial | src/tests/Gap: One commitment per ticket; no policy sets or holiday catalogues. |
| DESK-005target | Escalation and supervisor rules | Partial | src/src/Gap: No multi-level escalation or supervisor rules. |
| DESK-006target | Ticket relationships | Partial | src/Gap: No merge, split or parent/child tickets. |
| DESK-007target | Collaboration | Partial | src/tests/tests/Gap: No mentions, watchers or side conversations. |
| DESK-008target | Responses and summaries | Partial | src/src/Gap: No canned responses or cited summaries. |
| DESK-009target | Satisfaction surveys | Missing | Gap: No CSAT. |
| DESK-010target | Custom fields, forms and statuses | Missing | Gap: No custom fields, forms, statuses or required-on-status resolution code and close notes. |
| DESK-011target | Department workspaces | Partial | src/src/tests/Gap: No department workspaces under one portal. |
| DESK-012target | Time tracking and effort | Missing | Gap: No time entries. |
| DESK-013target | Scheduled and recurring work | Missing | Gap: No recurring tickets. |
| DESK-014target | Remote support handoff | Missing | Gap: No remote-support integration. |
| DESK-015target | Agent scenarios and record templates | Missing | Gap: No agent scenarios or record templates. |
| DESK-016target | Global agent search | Partial | src/tests/Gap: Articles only; no search across tickets, people, assets, CIs, changes or problems. |
| DESK-017target | Ticket activity history | Partial | src/tests/Gap: State transitions only, as public messages; no field-level before/after history, actor types or imported source history. |
| Notifications 0 done · 1 partial · 1 missing | |||
| NOTIFY-001target | Default notifications by role and event | Partial | src/tests/Gap: Explicit per-message only; no event-driven default set, chat or push delivery, or actionable agent notifications. |
| NOTIFY-002target | Admin-configured rules, templates and preferences | Missing | Gap: No notification rules, templates, branding or preferences. |
| Identity and SaaS access 2 done · 1 partial · 7 missing | |||
| ACCESS-001target | Microsoft Entra ID | Done | src/src/tests/tests/ |
| ACCESS-002target | Okta | Missing | Gap: No Okta connector. |
| ACCESS-003target | Google Workspace | Missing | Gap: No Google Workspace connector. |
| ACCESS-004target | Auth | Missing | Gap: No Auth connector. |
| ACCESS-005target | SaaS application provisioning | Missing | Gap: No GitHub, Slack, Salesforce, Atlassian, Zoom or AWS connectors. |
| ACCESS-006target | Just-in-time and time-bound access | Done | src/src/tests/ |
| ACCESS-007target | Self-service account recovery | Missing | Gap: No password/MFA reset or unlock, in a cloud IdP or in on-premises AD. |
| ACCESS-008target | Application catalog and owners | Partial | src/src/Gap: No app registry with entitlements. |
| ACCESS-009target | User access reviews | Missing | Gap: No access reviews. |
| ACCESS-010target | On-premises Active Directory (hybrid identity) | Missing | Gap: No on-premises AD relay, source-of-authority routing or domain-controller readback. |
| Joiners, movers and leavers 0 done · 6 partial · 1 missing | |||
| LIFE-001target | HRIS-triggered lifecycle | Missing | Gap: No Rippling, Gusto, BambooHR, Workday or Willow connector; lifecycle accepts HR facts through the API only. |
| LIFE-002target | Dated task plans across teams | Partial | src/tests/Gap: No templates by role, location or employment type. |
| LIFE-003target | Birthright access baselines | Partial | src/tests/Gap: No access policies. |
| LIFE-004target | Joiner device readiness | Partial | src/tests/Gap: No zero-touch enrolment or shipping. |
| LIFE-005target | Leaver revocation everywhere | Partial | src/src/tests/Gap: Entra only; no Okta, Google, SaaS or on-premises AD revocation, data transfer or device actions. |
| LIFE-006target | Contractors and temporary staff | Partial | src/tests/Gap: No sponsor re-attestation. |
| LIFE-007target | Lifecycle evidence pack | Partial | src/src/Gap: No exportable pack. |
| Assets, devices and licences 0 done · 7 partial · 4 missing | |||
| ASSET-001target | MDM sync | Missing | Gap: No Jamf, Intune or Kandji connector and no installed-application inventory. |
| ASSET-002target | Device actions under grant | Missing | Gap: No device actions or inventory-verified app push and removal. |
| ASSET-003target | Discovery and reconciliation | Partial | src/tests/Gap: Graph device list only; no MDM, EDR, cloud-account or network discovery. |
| ASSET-004target | Hardware lifecycle and custody | Partial | src/tests/tests/Gap: No ITAD certificate requirement. |
| ASSET-005target | Stock rooms and reorder | Partial | src/Gap: No stock locations or reorder. |
| ASSET-006target | Software licence management and compliance | Partial | src/tests/Gap: No IdP usage feed, reclamation through connectors, desktop installation compliance or prohibited titles. |
| ASSET-007target | Contracts, warranties and vendors | Partial | src/tests/Gap: No warranties. |
| ASSET-008target | Asset financials | Missing | Gap: No depreciation or accounting export. |
| ASSET-009target | CMDB and service dependencies | Partial | src/tests/Gap: No CI type model or impact view. |
| ASSET-010target | Physical audits | Missing | Gap: No physical audits. |
| ASSET-011target | Hardware requests and device swaps for existing employees | Partial | src/tests/Gap: No replacement/loaner chain, MDM enrolment, shipping, return kit or swap gate. |
| Incidents and problems 0 done · 5 partial · 1 missing | |||
| INC-001target | Major incidents | Partial | src/tests/Gap: No war room or Oncall/PagerDuty connector. |
| INC-002target | Monitoring and alert intake | Partial | src/tests/Gap: No named Uptime/Datadog/PagerDuty/Spool connectors or paging on intake. |
| INC-003target | Status communication | Partial | src/tests/Gap: No Lamp or Statuspage connector. |
| INC-004target | Engineering escalation | Missing | Gap: No Jira/GitHub/Linear/Vector escalation. |
| PROB-001target | Problem management | Partial | src/Gap: No public-door test; no KB publishing of workarounds. |
| PROB-002target | Proactive problem detection | Partial | src/src/Gap: No ticket clustering into problems. |
| Change management 0 done · 7 partial · 0 missing | |||
| CHANGE-001target | Change types and templates | Partial | src/tests/Gap: No templates or standard-change catalog. |
| CHANGE-002target | Risk scoring | Partial | src/Gap: No scoring. |
| CHANGE-003target | Change advisory board | Partial | src/tests/Gap: No CAB, meetings or votes. |
| CHANGE-004target | Change calendar and freeze windows | Partial | src/tests/Gap: No calendar, freeze windows or ICS. |
| CHANGE-005target | Rollback, change-caused incidents and post-implementation review | Partial | src/tests/Gap: No automatic incident linking, health-check gate on success or PIR. |
| CHANGE-006target | Development-tool context | Partial | src/Gap: No GitHub/Jira/Vector links or deployment-raised changes. |
| CHANGE-007target | Release management | Partial | src/src/tests/Gap: No release records, go/no-go or release notes. |
| IT projects 0 done · 0 partial · 1 missing | |||
| PROJECT-001target | IT team projects | Missing | Gap: No IT projects. |
| Knowledge 1 done · 1 partial · 3 missing | |||
| KB-001target | Knowledge base | Done | src/tests/tests/ |
| KB-002target | Federated knowledge sources | Missing | Gap: No federated sources (Confluence, Slate, Google Drive, SharePoint, Notion). |
| KB-003target | Deflection with verified outcome | Partial | src/tests/Gap: No suggestion before filing or deflection count. |
| KB-004target | Articles from resolved work | Missing | Gap: No article drafting from tickets. |
| KB-005target | Article feedback, attachments and templates | Missing | Gap: No article feedback, attachments or templates. |
| Reporting 0 done · 4 partial · 1 missing | |||
| REPORT-001target | Service desk dashboards | Partial | src/src/tests/tests/Gap: No dashboards, CSAT, per-agent views or reporting on imported history. |
| REPORT-002target | Custom and scheduled reports | Missing | Gap: No report builder or scheduling. |
| REPORT-003target | Data access for BI | Partial | src/tests/Gap: No scheduled BI or warehouse export. |
| REPORT-004target | Human work saved | Partial | src/tests/Gap: No per-request-type touch reporting. |
| REPORT-005target | IT operations and asset KPIs | Partial | src/tests/Gap: No MTTA/MTTR, change success, emergency share or compliance/licence KPIs. |
| Platform, administration and integration 4 done · 7 partial · 3 missing | |||
| ROLE-001target | Roles and permissions | Partial | src/tests/tests/Gap: Fixed roles; no custom roles. |
| SSO-001target | Sign-in, SSO and SCIM | Partial | src/src/tests/tests/Gap: No SAML/OIDC with named IdPs, SCIM or MFA enforcement. |
| AUDIT-001target | Audit log | Done | src/tests/tests/ |
| API-001target | REST API and webhooks | Partial | src/src/tests/Gap: No outbound event webhooks. |
| API-002target | No-code workflow automator | Partial | src/src/tests/Gap: No no-code builder. |
| API-003target | Agent access by MCP | Missing | Gap: No MCP server. |
| PORT-001target | Portable native archive | Done | src/src/tests/ |
| ERASURE-001target | Authorised erasure | Done | src/src/tests/tests/tests/ |
| RETENTION-001target | Retention policies | Partial | src/tests/Gap: Archive retention only; no ticket/attachment retention. |
| BASE-001target | Base platform replacements | Done | src/src/tests/tests/ |
| COST-001target | US pricing and budgets | Partial | src/tests/Gap: No seat pricing or sales-tax invoices. |
| A11Y-001target | Accessibility | Partial | tests/tests/Gap: No WCAG audit. |
| L10N-001target | US English and Spanish for employees | Missing | Gap: English only. |
| SANDBOX-001target | Sub-production workspace and configuration promotion | Missing | Gap: No sandbox workspace or configuration promotion. |
| Migration and coexistence 0 done · 2 partial · 3 missing | |||
| MIGRATE-001target | Freshservice migration | Partial | src/src/tests/tests/Gap: Tickets and conversations only, 100 per job; no assets, catalog, KB, SLA, attachment bytes or 50,000-ticket scale run. |
| MIGRATE-002target | Jira Service Management migration | Missing | Gap: No JSM, Assets or Confluence importer or delta passes. |
| MIGRATE-003target | ServiceNow migration | Missing | Gap: No ServiceNow Table/Attachment API importer or delta passes. |
| MIGRATE-004target | Spreadsheet and lightweight-tool move-in | Missing | Gap: No CSV, Zendesk or Snipe-IT importer. |
| MIGRATE-005target | Coexistence and cutover | Partial | src/tests/Gap: Freshservice delta checkpoint and fenced cutover only; no ServiceNow or JSM deltas and no post-cutover source watch for late arrivals. |
| Authority, evidence and operation (retained safeguards) 4 done · 3 partial · 0 missing | |||
| A1published | Identity and privacy | Done | src/src/tests/tests/tests/ |
| A2published | Granted action | Done | src/src/tests/tests/ |
| A3published | Durable effects | Done | src/tests/tests/tests/ |
| A4published | Verifiable outcomes | Done | src/tests/tests/ |
| A5published | Legible service | Partial | src/tests/tests/Gap: No chat channels; bounded accessibility evidence. |
| A6published | Data and source custody | Partial | src/tests/tests/Gap: Incumbent imports bounded to Freshservice. |
| A7published | Honest operating and cost boundaries | Partial | src/tests/Gap: Human touch counting incomplete. |
| Flagship service operations (retained) 0 done · 3 partial · 0 missing | |||
| O1published | Service graph and major incidents | Partial | src/tests/tests/Gap: No real monitoring/on-call. |
| O2published | Change, release and prevention | Partial | src/tests/tests/Gap: No live provider or sustained prevention. |
| O3published | Lifecycle and economics | Partial | src/tests/Gap: No real supplier or reclamation. |
| Push further with agents 0 done · 9 partial · 1 missing | |||
| AGENT-001push further | Resolve routine requests end to end | Partial | src/tests/Gap: Graph-only effects; no hardware chain. |
| AGENT-002push further | Revoke the leaver everywhere | Partial | src/tests/Gap: No SaaS/OAuth enumeration. |
| AGENT-003push further | Verify the employee can work again | Partial | src/tests/Gap: No sign-in, device-compliance or installed-app signals. |
| AGENT-004push further | Investigate multi-system failures | Partial | src/tests/Gap: No held-out live case against real IdP, MDM and monitoring logs. |
| AGENT-005push further | Build a missing connector | Partial | src/tests/Gap: No released provider connector. |
| AGENT-006push further | Measure human work saved | Partial | src/tests/Gap: No per-request-type touch reporting or ranked automation proposal. |
| AGENT-007push further | Mine ticket history for automations | Partial | src/tests/Gap: No ticket-history mining. |
| AGENT-008push further | Keep devices and licences healthy | Missing | Gap: No MDM/EDR signals. |
| AGENT-009push further | Carry service commitments across tickets | Partial | src/tests/Gap: No live provider observations (such as GitHub access readback) behind commitments. |
| AGENT-010push further | Prevent recurrence and simplify | Partial | src/tests/Gap: No recurrence window measured on a real provider or simplification compared with continued repair. |
| Frontier extensions (retained) 0 done · 7 partial · 0 missing | |||
| F1published | Persistent service commitments | Partial | src/tests/Gap: Frontier evidence gate in ACCEPTANCE.md not demonstrated on real observations. |
| F2published | Semantic observation and help | Partial | src/tests/Gap: Frontier evidence gate in ACCEPTANCE.md not demonstrated on real selected events. |
| F3published | Unfamiliar causal research | Partial | src/tests/Gap: Frontier evidence gate in ACCEPTANCE.md not demonstrated on a held-out unfamiliar case. |
| F4published | Autonomous service engineering | Partial | src/tests/Gap: No change authored against real owned systems and released through the change lane. |
| F5published | Executable service models and experiments | Partial | src/Gap: No public-door test; frontier evidence gate in ACCEPTANCE.md not demonstrated. |
| F6published | Reusable capabilities from solved cases | Partial | src/tests/Gap: Frontier evidence gate in ACCEPTANCE.md not demonstrated on held-out cases. |
| F7published | Continuous service simplification | Partial | src/tests/Gap: No substantive redesign compared with continued repair on service outcomes. |
How statuses are judged
- Done
- It ships in the default install, and a cited test or journey exercises it.
- Partial
- Some of it ships, it ships only behind an opt-in, or there is code with no requirement-level test.
- Missing
- There is no implementation.