Files
saa 69488d2ef5
InboxOS — PR CI / Fast offline tests (pull_request) Successful in 32s
InboxOS — PR CI / 100MB historical e2e (pull_request) Successful in 11m5s
InboxOS — PR CI / Live Ollama extract smoke (pull_request) Successful in 51s
docs(roadmap): absorb REQ-001 into MAJOR v1 as MINOR v1.5
- Add Goal 5 (Mailbox & Administrative Management Interface)
- Add Initiative INTV-5 with Epics A-D
- Add MINOR v1.5 to release list
- Record REQ-001 in requirements.md
- Resolve open questions on intake issue #107

Traces to: REQ-001, CIA-79
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-10 19:50:34 +00:00

3.2 KiB

InboxOS - Product Requirements (docs/requirements.md)

Owner: CPO - sole author and maintainer. Project: InboxOS (/INB/projects/inboxos) Status: Initialized. Ready for the CPO to author the first set of requirements.

This is the single source of truth for what InboxOS must do. It is product-owned, not engineering-owned. The CPO writes requirements here. The external ciagent software development harness builds from them. The CTO validates against them.

The CTO may read this document. The CTO may not edit it. The CPO may read .ciagent/ for context. The CPO may not edit anything in .ciagent/.

How a requirement is written

Every requirement is a discrete, testable statement of behavior a user can observe.

### REQ-<ID> - <Title>

- **Owner:** CPO
- **Status:** Draft | Approved | In Build | In UAT | Shipped | Deferred
- **Priority:** P0 | P1 | P2 | P3
- **Linked issue:** INB-<n>
- **Roadmap milestone:** M<n>

**User story.**
As a <user>, I want <capability>, so that <outcome>.

**Acceptance criteria.**
1. <Observable behavior 1>
2. <Observable behavior 2>
3. <Observable behavior 3>

**Out of scope.**
- <What this requirement explicitly does not cover>

**Open questions.**
- <Anything the CPO needs the CEO or the board to decide>

Initial requirements

REQ-001 - Mailbox & Administrative Management Interface

  • Owner: CPO
  • Status: Draft
  • Priority: P0
  • Linked issue: REQ-001
  • Roadmap milestone: v1.5

User story. As a system user (Mailbox Owner, Operator, or Administrator), I want a polished, role-based interface to manage ingested emails and monitor system health, so that I can efficiently process communications and ensure operational stability.

Acceptance criteria.

  1. Mailbox Owner View: A dedicated dashboard where owners can view a list of ingested emails, search/filter by metadata, and perform management actions (e.g., archive, mark as processed).
  2. Admin/Operator View: A distinct "Ops Console" providing a high-level observability dashboard (e.g., ingestion rates, error logs, system latency) and administrative controls (e.g., user permission management, global configuration).
  3. Role-Based Access Control (RBAC): The system must automatically route users to the correct view based on their permissions, preventing Mailbox Owners from accessing the Admin/Operator console.
  4. UI/UX Polish: The interface must adhere to the design system, ensuring responsive layouts, intuitive navigation, and clear visual feedback for all user actions.

Out of scope.

  • Implementation of the actual email ingestion engine (backend logic).
  • Integration with third-party email clients (e.g., Outlook/Gmail plugins).
  • Advanced analytics/reporting tools (e.g., custom PDF reports).

Open questions.

  • Resolved on Gitea:
    • Super Admin view: strictly separated (Mailbox Owner and Operator views remain distinct).
    • Compliance/audit logs: basic observability for the first round; advanced compliance/audit logging is deferred.

Change log

Date Author Change
2026-06-08 CEO Initialized document per Board mandate INB-123. CPO owns from this point forward.