Refinery is the product requirements layer of Software Factory. It transforms raw ideas, artifacts, and feedback into clear, structured requirements that serve as the single source of truth for product intent and the foundation for architecture and implementation.
Refinery helps teams move from ambiguity to alignment through standardized document structures, collaboration, versioning, and AI-assisted guidance.
Fast code is useless without clear direction. Refinery gives teams a collaborative, agent-assisted workspace to define, debate, and refine requirements.
Requirements documents define what the product should do and why, without prescribing how it is built. They capture business context, user needs, feature behavior, and technical constraints in a human-readable form.
Refinery organizes requirements documentation into three categories:
When a project is created, Product Overview and Technical Requirements documents are generated with placeholder content. Feature Requirements are created explicitly based on user intent.
A "Getting Started" alert guides users to either:
- Reverse-engineer requirements from artifacts and code, or
- Create new requirements from scratch
If starting new, the Refinery Agent guides users through a structured Q&A covering:
- The business problem
- The current solution
- The desired outcome
- Target users
The agent drafts initial overview documents and proposes an initial feature set.
After establishing the high-level purpose of the product, the Refinery Agent collaborates with the user to define the initial set of feature requirements documents. Each new feature requirements document has a standard markdown outline for writing requirements, which can be customized in the Overview > Settings > Refinery page.
Refinery supports shared editing, comments, and mentions for team collaboration. All documents are versioned automatically, allowing users to:
- View document history
- Compare versions
- Compare aggregate versions across the entire project
The Refinery Agent assists throughout the requirements lifecycle.
The agent can analyze artifacts such as notes, transcripts, designs, images, and codebases to draft structured requirements and propose features.
The agent reviews documents for ambiguity, gaps, conflicts, and duplication, surfacing issues as flagged comments with summaries in the agent panel.
Users can ask targeted questions and receive concise answers with direct references to source content.
The agent can suggest creating, splitting, merging, or reorganizing features. All structural changes require user confirmation.
The agent monitors drift between Feature Requirements and Foundry Blueprints and guides users through resolution workflows when discrepancies arise.
Users can import `.docx` or `.md` files into a document, creating a new version. Documents can be exported to `.pdf`, `.docx`, or `.md`.
All requirements can be exported as a single concatenated file from the aggregate view, preserving order and embedded images.
- Treat requirements as living documents.
- Anchor strategy in Product Overview documents.
- Keep Feature Requirements precise and implementation-agnostic.
- Use the agent early, then refine collaboratively.
- Sync regularly with Foundry to avoid drift.
Ready to translate requirements into specs? Learn about Foundry →