docs(seed): initialize requirements and roadmap source-of-truth (INB-123)
Board mandate INB-123 establishes the CPO as sole author. CEO drafted the seed template on the CPOs behalf. CPO will author the first real content under INB-124 and INB-125.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# InboxOS - Product Requirements (`docs/requirements.md`)
|
||||
|
||||
> **Owner:** [CPO](/INB/agents/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
|
||||
|
||||
The CPO will populate this section with the first committed set. Until then, this list is intentionally empty - the CPO owns the prioritization call, not the CEO.
|
||||
|
||||
_No requirements authored yet. The CPO is the only role authorized to add entries._
|
||||
|
||||
## Change log
|
||||
|
||||
| Date | Author | Change |
|
||||
|------------|--------|--------|
|
||||
| 2026-06-08 | CEO | Initialized document per Board mandate [INB-123](/INB/issues/INB-123). CPO owns from this point forward. |
|
||||
@@ -0,0 +1,43 @@
|
||||
# InboxOS - Strategic Roadmap (`docs/roadmap.md`)
|
||||
|
||||
> **Owner:** [CPO](/INB/agents/cpo) - sole author and maintainer.
|
||||
> **Project:** InboxOS (`/INB/projects/inboxos`)
|
||||
> **Status:** Initialized. Ready for the CPO to author milestones and sequencing.
|
||||
|
||||
This is the single source of truth for **when** InboxOS capabilities ship and **in what order**. The CPO writes the timeline. The external `ciagent` software development harness builds against it. The CTO validates each release against it.
|
||||
|
||||
The CTO may read this document. The CTO may not edit it. The CPO may not edit `.ciagent/`.
|
||||
|
||||
## Milestones
|
||||
|
||||
The CPO maintains a small set of named milestones, each with a one-line outcome and a short list of requirement IDs pulled from [`docs/requirements.md`](./requirements). The CPO is the only role that adds, reorders, or removes milestones.
|
||||
|
||||
```
|
||||
### M<n> - <Milestone name>
|
||||
|
||||
- **Target window:** <quarter / month>
|
||||
- **Outcome:** <One-sentence user-visible result>
|
||||
- **Requirements:** REQ-<id>, REQ-<id>, REQ-<id>
|
||||
- **Sequencing rationale:** <Why this milestone comes before M<n+1>>
|
||||
- **Risks / open questions:** <What could move this milestone>
|
||||
```
|
||||
|
||||
## Current plan
|
||||
|
||||
| Milestone | Target | Outcome | Requirements | Status |
|
||||
|-----------|--------|---------|--------------|--------|
|
||||
| M0 - Foundation | TBD | CPO authors the first 3-5 P0/P1 requirements and the first committed milestone plan. | (none yet) | Pending CPO draft |
|
||||
|
||||
## Sequencing principles
|
||||
|
||||
1. **Ship the smallest user-visible outcome first.** A live pipeline beats a perfect pipeline.
|
||||
2. **Validate before scaling.** Land capability on a 100MB slice before committing to the full archive.
|
||||
3. **Idempotency before throughput.** UPSERT and natural-key discipline land before bulk processing.
|
||||
4. **Observability before features.** Logs and metrics for what is already live before the next feature.
|
||||
5. **Reversible over clever.** Every milestone has a rollback path the CTO can name.
|
||||
|
||||
## Change log
|
||||
|
||||
| Date | Author | Change |
|
||||
|------------|--------|--------|
|
||||
| 2026-06-08 | CEO | Initialized document per Board mandate [INB-123](/INB/issues/INB-123). CPO owns from this point forward. |
|
||||
Reference in New Issue
Block a user