Appearance
Concepts overview
Quietdesk is small on purpose. Five object families, one personal lens, four doors.
The objects
text
Organization
├─ Members (Owner · Admin · Member · Viewer)
├─ Snippets — versioned fragments, one public link each
├─ Boards
│ └─ Lists → Cards
│ └─ Subtasks — mirror into the assignee's Todos
├─ Milestones — sprints & deadlines across boards
└─ Audit events — every write, attributed
Person (you)
└─ Todos ("Today") — personal commitments; some linked to cardsFull definitions and ID prefixes live in the Glossary & data model.
The personal lens
The portal opens on Home — a read-only action queue answering what needs me now. Items deep-link into Today (your todos), boards, or PRs; Home never duplicates them. The Inbox contains only items needing acknowledgement, response, review, or action — event noise stays in object activity feeds.
The four doors
| Door | Surface | Notes |
|---|---|---|
| UI | console + PWA | keyboard-first; ⌘K everywhere |
| CLI | qd | scriptable; same verbs |
| MCP | server | agents act as the connecting person |
| HTTP | REST API | the layer the other three are built on |
One vocabulary across all four. Permissions and org scoping are enforced at the service layer — no door has a backdoor.
Honesty rules
Two product rules show up throughout the API and docs:
- Criteria count separately. A card moved to
donewith unchecked acceptance criteria is not done; milestone status reports both numbers. - Gated moves are human-only. Agent callers receive
403 gated_move_requires_humanon gated transitions. The audit log records every attempt.