Pipeline record creation and editing
Create and edit a Pipeline record using governed fields, standardized controls and the active published workflow.
/admin/pipelinesFuture Spec 09 →Current-state summary
New opportunity opens a large Create a new lead modal containing 43 active CRM fields across Core details, Contact, Project, Qualification, Assignment, Matching criteria and Project snapshot. It demonstrates useful standardized controls, separate Client and Project addresses, OpenStreetMap address lookup, alphabetized dropdowns and sensible defaults. However, its stage selector uses the legacy states Matched, Matching, Negotiation, New lead, Proposal sent and Qualified instead of the published stages New intake, Qualification, Client review, Ready to convert, Converted to project and Closed. The form is therefore functional as a legacy CRM form but not yet a genuine dynamic Pipeline Record form.
Interface inventory
Anatomy and verified behavior
Verification states separate observed behavior from requirements or assumptions.
| Element | Current behavior | Verification |
|---|---|---|
| Modal identity | Title says Create a new lead and explains separate billing and Project-site addresses. | Verified live |
| Core details | Project name, Pipeline stage and priority are required. Medium and New lead are preselected. | Verified live |
| Contact | Captures name, email, phone, address, best contact time, time zone, preferred contact and decision-maker status. | Verified live |
| Project | Captures separate Project address, location, Project type and square footage. | Verified live |
| Qualification | Captures budget range, estimated value, source, desired start date and furniture spend. | Verified live |
| Assignment | Captures Designer, next task, internal notes and required Admin owner. | Verified live |
| Matching criteria | Captures style, specialties, language, timeline, property type, rooms and services. | Verified live |
| Project snapshot | Captures design package, hours, commission rate and hourly rate, including legacy Proper Gallery language. | Verified live |
| Form count and actions | Reports 43 active CRM fields and offers Cancel/Create lead. | Verified live; submission not executed |
User journeys
Current flows
Create opportunity
- Open New opportunity
- Complete required identity and qualification fields
- Resolve addresses
- Assign owner
- Add matching context
- Submit
Edit opportunity
- Open a record Overview
- Select Edit
- Load existing values
- Change permitted fields
- Validate and save
- Project updated summaries and Activity
Resolve Client
- Enter email/name/address
- Search existing Clients
- Detect possible duplicate
- Link or create durable Client
- Preserve source attribution
State model
Current and expected states
Defaults include New lead, Medium, Ontario, Canada, Eastern Time, Full-service, $250–300K, Manual, Brad Mitchell and 15% commission.
Required labels are visible; inline validation behavior was not triggered.
Client and Project address fields expose OpenStreetMap suggestion attribution.
Create submission state, duplicate protection and retry behavior were not tested.
No version token or concurrent-edit warning is visible.
Product rules
Non-negotiable boundaries
- The form must be generated from the active published Pipeline version and field schema.
- A record cannot choose a stage absent from its Pipeline version.
- Client billing and Project-site addresses remain separately modeled.
- Required, visible, editable and transition-required are distinct field properties.
- Dropdowns use shared taxonomies and deterministic alphabetical ordering where order has no business meaning.
- Currency is stored as amount plus currency and displayed with symbols and separators.
- Date controls store a canonical date/time meaning and show the applicable time zone.
- Create is idempotent and duplicate Client/opportunity detection precedes irreversible creation.
- Internal Notes in a creation form must not bypass the canonical revisioned Notes module without an explicit migration rule.
Known current limitations · 8 mapped
What is missing, broken or unverified
Future Spec 09 owns closure →- Critical: the form stage list conflicts with the published Pipeline.
- The title and submit action still say lead rather than Pipeline Record or opportunity.
- The 43 active fields appear CRM-configured rather than versioned in the current Pipeline Builder; Record details is still a placeholder.
- No Client duplicate detection or link-to-existing flow is visible.
- Saved labels such as Full-service (saved) and $250–300K (saved) leak configuration state into user-facing options.
- Proper Gallery commission language remains.
- Required validation, server errors, partial failure, retry and idempotency were not tested.
- Conditional fields, per-stage visibility and permission-based field redaction are not evidenced.
Future alignment
Required evolution
- 01Replace the legacy Lead modal with the shared Dynamic Form renderer bound to a Pipeline version.
- 02Separate record creation requirements from later transition requirements.
- 03Resolve or create durable Client entities without duplicate contacts.
- 04Support Admin, Designer and Provider general-lead Pipelines through the same form engine.
- 05Record field provenance, original source and AI/import confidence when fields are populated automatically.
Current baseline
Acceptance record
- All seven field groups and 43-field count are documented.
- Standardized address, dropdown, currency and date expectations are recorded.
- Legacy and published stage lists are explicitly compared.
- The current form is not described as configuration-driven until the mismatch is removed.
- Create/edit testing avoids mutating the live opportunity dataset.
Reverse-spec completeness
Documentation coverage
The interface is still changing, so visual evidence and repository tracing remain intentionally incomplete.
Purpose and user outcome
DocumentedRoles and access
DocumentedRoutes and entry points
DocumentedPage and component anatomy
DocumentedFields and displayed data
DocumentedPrimary actions
DocumentedForms and validation
DocumentedStates and transitions
DocumentedEmpty, loading and error states
DocumentedResponsive behavior
PartialAccessibility behavior
PartialActivity and audit events
PartialData sources and persistence
DocumentedNotifications and automation
PartialKnown defects and limitations
DocumentedReusable component dependencies
DocumentedFuture-spec conflicts
PartialVisual and repository evidence
DeferredAcceptance of current baseline
Documented