You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Proposal: Introduce an optional Idea stage before Changes
#1372
OpenSpec's workflow begins once an idea is mature enough to become a Change.
In practice, however, there is often an earlier point where an idea is worth preserving but is not yet ready to become a proposal.
These ideas might represent:
architectural observations
future opportunities
known limitations
possible improvements
concepts that need more context before becoming actionable
Today these ideas typically end up in personal notes, discussions, issue trackers, or are simply forgotten.
As a result, valuable project knowledge often exists outside of OpenSpec until someone decides to write a Change.
Proposal
Introduce an optional Idea artifact that can exist independently of a Change.
An Idea is intentionally not a Change.
Its purpose is to preserve project knowledge, not to propose work.
It captures knowledge that is worth preserving but is not yet mature enough to justify a proposal. This may include architectural observations, future opportunities, known limitations, or design considerations that could become relevant later.
Unlike a Change, an Idea has no implementation intent. It is not reviewed, planned, validated, or converted into tasks. Instead, it preserves context until someone decides that the idea has matured into a Change—or determines that it is no longer relevant.
Conceptually, an Idea may later evolve into a Change, but it remains an independent artifact until that happens.
This is intentionally different from an issue tracker or feature backlog.
A backlog represents work that is expected or planned.
An Idea represents project knowledge.
It captures observations, architectural considerations, and future intent without implying that implementation should ever happen.
Example
Imagine the following Ideas have already been captured.
Idea A
Users may eventually want notification rules. If this is ever implemented, users should be able to understand why they received a notification.
Idea B
Users may eventually want scheduled notifications. The notification system should be flexible enough to support additional delivery channels in the future.
These Ideas remain independent. Neither is substantial enough to justify a Change, and at first glance they appear to be unrelated.
Later, someone starts writing a Change for a Notification Center.
The initial proposal focuses on managing and delivering notifications.
While drafting the Change, OpenSpec could surface both existing Ideas.
Neither Idea defines the proposal, but together they introduce important design considerations that might otherwise have been overlooked:
notifications should be explainable, not just delivered;
the delivery mechanism should remain extensible instead of being tied to a fixed set of channels.
The author can then decide to:
reference one or both Ideas;
incorporate their intent into the Change; or
explicitly ignore them because they are no longer relevant.
The Ideas were never planned work—they simply preserved valuable project knowledge until the right opportunity appeared.
Benefits
Preserve valuable project knowledge before it becomes a Change.
Prevent good ideas from being forgotten.
Keep future intent inside OpenSpec instead of external notes.
Give future proposals additional context when relevant.
Allow future Changes to benefit from previously captured project knowledge.
Discussion
OpenSpec already preserves specifications, decisions, and planned changes remarkably well.
One artifact appears to be missing: a way to preserve project knowledge before it becomes a Change.
Would an optional Idea artifact fit the philosophy of OpenSpec, or is preserving project knowledge before it becomes a Change intentionally considered out of scope?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Problem
OpenSpec's workflow begins once an idea is mature enough to become a Change.
In practice, however, there is often an earlier point where an idea is worth preserving but is not yet ready to become a proposal.
These ideas might represent:
Today these ideas typically end up in personal notes, discussions, issue trackers, or are simply forgotten.
As a result, valuable project knowledge often exists outside of OpenSpec until someone decides to write a Change.
Proposal
Introduce an optional Idea artifact that can exist independently of a Change.
An Idea is intentionally not a Change.
Its purpose is to preserve project knowledge, not to propose work.
It captures knowledge that is worth preserving but is not yet mature enough to justify a proposal. This may include architectural observations, future opportunities, known limitations, or design considerations that could become relevant later.
Unlike a Change, an Idea has no implementation intent. It is not reviewed, planned, validated, or converted into tasks. Instead, it preserves context until someone decides that the idea has matured into a Change—or determines that it is no longer relevant.
Conceptually, an Idea may later evolve into a Change, but it remains an independent artifact until that happens.
Why this is different from a backlog
This is intentionally different from an issue tracker or feature backlog.
A backlog represents work that is expected or planned.
An Idea represents project knowledge.
It captures observations, architectural considerations, and future intent without implying that implementation should ever happen.
Example
Imagine the following Ideas have already been captured.
Idea A
Users may eventually want notification rules.
If this is ever implemented, users should be able to understand why they received a notification.
Idea B
Users may eventually want scheduled notifications.
The notification system should be flexible enough to support additional delivery channels in the future.
These Ideas remain independent. Neither is substantial enough to justify a Change, and at first glance they appear to be unrelated.
Later, someone starts writing a Change for a Notification Center.
The initial proposal focuses on managing and delivering notifications.
While drafting the Change, OpenSpec could surface both existing Ideas.
Neither Idea defines the proposal, but together they introduce important design considerations that might otherwise have been overlooked:
The author can then decide to:
The Ideas were never planned work—they simply preserved valuable project knowledge until the right opportunity appeared.
Benefits
Discussion
OpenSpec already preserves specifications, decisions, and planned changes remarkably well.
One artifact appears to be missing: a way to preserve project knowledge before it becomes a Change.
Would an optional Idea artifact fit the philosophy of OpenSpec, or is preserving project knowledge before it becomes a Change intentionally considered out of scope?
All reactions