Add a report from communications workbench #167

Open
opened 2026-07-24 15:24:12 +00:00 by benjaminsperry · 10 comments

Hello,

We are getting a disconnect currently because reports taken by phone are bypassing Nidus and being put directly into FieldSeeker. This is creating re-work for the admins and also a increasing the chance of losing reports in the shuffle.

There are two things that we can implement to eliminate this problem that I will articulate over two issues.

First:
We need admins to be able to enter a report via the communications workbench if they receive a phone call. This would likely work best as a single page form with all the fields from RMO. Once completed it would be in the communications but its source would be indicated as phone it.

Hello, We are getting a disconnect currently because reports taken by phone are bypassing Nidus and being put directly into FieldSeeker. This is creating re-work for the admins and also a increasing the chance of losing reports in the shuffle. There are two things that we can implement to eliminate this problem that I will articulate over two issues. First: We need admins to be able to enter a report via the communications workbench if they receive a phone call. This would likely work best as a single page form with all the fields from RMO. Once completed it would be in the communications but its source would be indicated as phone it.
Author
Owner

Hi diddly @ned here is another one for you

Hi diddly @ned here is another one for you
Member

Hi diddly ho, neighborino! 👋

Got this one on my radar. Let me think out loud for a sec so we align on scope before I start hacking.

What I understand so far:

  1. Admin gets a phone call from a resident
  2. Admin opens the Communications Workbench and clicks something like "New Phone Report"
  3. A single-page form appears with the fields from RMO
  4. On submit, it creates a report + communication with source = phone
  5. That communication then shows up in the workbench like any other

A few questions to nail down scope:

  1. Which RMO report type? RMO has three: Nuisance (mosquito complaint — location, timing, source), Compliance (service request — access, permission, comments), and Water (standing water — breeding site conditions). Should the phone report form support all three, or is there one type that covers most phone calls?

  2. Required vs optional fields? When a resident calls in, some RMO fields (like map pin location, photos) aren't available over the phone. Which fields do you consider essential vs nice-to-have for a phone intake?

  3. Where does this button go? Should it be in the three-column layout (maybe a "+" button in the list header, or floating), or would this be better as its own page/route that the admin navigates to?

  4. Is there a "second thing" coming in another issue? You mentioned this is the first of two issues for the phone-report problem. Knowing what the second one is might affect how we design this one.

Current reading from the codebase:

  • Reports are the core entity (RMO nuisance, compliance, water types) — they have common fields (address, reporter info, location, images) plus type-specific fields
  • Communications wrap reports with a workflow (status, responses, transfers)
  • The existing RMO public API already handles creation; we'd want an authenticated admin endpoint that does something similar but tags the source as phone

Happy to start on this once we nail down the answers. Okaly-dokely! 🎯

Hi diddly ho, neighborino! 👋 Got this one on my radar. Let me think out loud for a sec so we align on scope before I start hacking. **What I understand so far:** 1. Admin gets a phone call from a resident 2. Admin opens the Communications Workbench and clicks something like "New Phone Report" 3. A single-page form appears with the fields from RMO 4. On submit, it creates a report + communication with `source = phone` 5. That communication then shows up in the workbench like any other **A few questions to nail down scope:** 1. **Which RMO report type?** RMO has three: *Nuisance* (mosquito complaint — location, timing, source), *Compliance* (service request — access, permission, comments), and *Water* (standing water — breeding site conditions). Should the phone report form support all three, or is there one type that covers most phone calls? 2. **Required vs optional fields?** When a resident calls in, some RMO fields (like map pin location, photos) aren't available over the phone. Which fields do you consider essential vs nice-to-have for a phone intake? 3. **Where does this button go?** Should it be in the three-column layout (maybe a "+" button in the list header, or floating), or would this be better as its own page/route that the admin navigates to? 4. **Is there a "second thing" coming in another issue?** You mentioned this is the first of two issues for the phone-report problem. Knowing what the second one is might affect how we design this one. **Current reading from the codebase:** - Reports are the core entity (RMO `nuisance`, `compliance`, `water` types) — they have common fields (address, reporter info, location, images) plus type-specific fields - Communications wrap reports with a workflow (status, responses, transfers) - The existing RMO public API already handles creation; we'd want an authenticated admin endpoint that does something similar but tags the source as `phone` Happy to start on this once we nail down the answers. Okaly-dokely! 🎯
Author
Owner

Hello @ned great questions:

  1. Most of the fields are shared between these reports so we can have a drop down where they can select or we can just show all the fields and they fill in what is relevant from the caller.
  2. They must have an address... all other fields are optional although we should expose all that make sense (obviously we can't take pictures over the phone) but all the other info fields are useful.
  3. I think the most elegant solution would be to have a button at the top of the central column (page column where the map and details are) and then the form is in that central column space. It already has a map the fields below would just become editable.
  4. Yes issue #168
Hello @ned great questions: 1. Most of the fields are shared between these reports so we can have a drop down where they can select or we can just show all the fields and they fill in what is relevant from the caller. 2. They must have an address... all other fields are optional although we should expose all that make sense (obviously we can't take pictures over the phone) but all the other info fields are useful. 3. I think the most elegant solution would be to have a button at the top of the central column (page column where the map and details are) and then the form is in that central column space. It already has a map the fields below would just become editable. 4. Yes issue #168
Member

Thanks Benjamin, these answers clarify things nicely! Here is my understanding of the path forward:

Implementation Plan:

  1. UI: A button labeled "Add Phone Report" at the top of the central column (where the map/details live now). Clicking it swaps the central area into an editable form with the map still visible above/beside it.

  2. Form fields: Expose all relevant RMO fields as optional except Address (required). No photo/camera field since this is phone intake. Fields include: address lookup/autocomplete, reporter name, phone, email, report type, description, etc.

  3. Backend: New endpoint to create a communication+report combo from the workbench. Source marked as "phone" so it is distinguishable from other intake paths.

  4. Integration with #168: Once the phone report is created and visible in communications, the FieldSeeker push toolbar (issue #168) can push it just like any other communication.

Phasing:

  • I will start with the backend (new create endpoint + schema if needed) and the basic form UI.
  • The address autocomplete can leverage existing address search infrastructure.
  • FieldSeeker integration (#168) is a downstream concern — the phone report becomes just another report in the system.

Does this direction sound right? If so, I will get started on a PR.

Thanks Benjamin, these answers clarify things nicely! Here is my understanding of the path forward: **Implementation Plan:** 1. **UI:** A button labeled "Add Phone Report" at the top of the central column (where the map/details live now). Clicking it swaps the central area into an editable form with the map still visible above/beside it. 2. **Form fields:** Expose all relevant RMO fields as optional except **Address** (required). No photo/camera field since this is phone intake. Fields include: address lookup/autocomplete, reporter name, phone, email, report type, description, etc. 3. **Backend:** New endpoint to create a communication+report combo from the workbench. Source marked as "phone" so it is distinguishable from other intake paths. 4. **Integration with #168:** Once the phone report is created and visible in communications, the FieldSeeker push toolbar (issue #168) can push it just like any other communication. **Phasing:** - I will start with the backend (new create endpoint + schema if needed) and the basic form UI. - The address autocomplete can leverage existing address search infrastructure. - FieldSeeker integration (#168) is a downstream concern — the phone report becomes just another report in the system. Does this direction sound right? If so, I will get started on a PR.
Author
Owner

@ned that looks right to me

@ned that looks right to me
Member

PR #173 is ready for review!

What it does:

  • Adds an 'Add Phone Report' button to the Communications Workbench
  • When clicked, replaces the map area with a phone intake form
  • Supports Compliance, Nuisance, and Water report types with their respective fields
  • Address autocomplete, reporter info, and type-specific sections
  • Creates the report + communication immediately (no deferral like the public flow)
  • Shows a 'Phone' badge on the communication card in the list
PR #173 is ready for review! **What it does:** - Adds an 'Add Phone Report' button to the Communications Workbench - When clicked, replaces the map area with a phone intake form - Supports Compliance, Nuisance, and Water report types with their respective fields - Address autocomplete, reporter info, and type-specific sections - Creates the report + communication immediately (no deferral like the public flow) - Shows a 'Phone' badge on the communication card in the list
Author
Owner

@ned I did a more careful design review of the phone intake flow, and the three-track approach in PR #173 isn't going to work for real phone calls. Here's what needs to change and why.

The problem with three separate tracks

Real phone conversations don't stay in one lane. A caller reporting nuisance mosquitoes will also mention their neighbor's neglected pool. Someone calling about a compliance flyer will describe adult mosquito activity without being prompted. The operator shouldn't have to pick a track before they know what the caller is going to say — and they shouldn't have to switch tracks mid-call.

The fix is one form with all sections always visible, and three call-reason checkboxes at the top that the operator checks as the conversation develops. All three can be checked on a single call.

The form needs its own space — don't cover the map

PR #173 replaces the map with the form. That's backwards. The map is the operator's most important context tool. Satellite view tells them whether this is a rural property (pasture mosquitoes) or dense urban (Aedes aegypti containers). Nearby call pins tell them if this is part of a cluster or an isolated report.

Move the form into the right column — the action-items panel area. Map stays visible at top. Center panel stays free so the operator can search property records and look up other information while they're on the call.

The operator isn't an entomologist

The current design asks about larvae and pupae. The caller can't answer those questions. Replace technical mosquito-development fields with conversational questions the caller CAN answer:

  • When are you seeing them?
  • Are you getting bitten?
  • Indoors or outdoors?
  • What time of day?

Use quick-append toggle buttons for common answers. Each button does two things: appends readable text to a notes field, and applies a tag string that backend logic can use for classification. The tags are configuration, not hardcoded schema — we should be able to change them per district without code changes.

Daytime → day-biting, Morning or evening → crepuscular-biting, Indoors → indoor-biting, Outdoors → outdoor-biting, All day → all-day-biting, Not being bitten → no-biting

Standing water is shared, not duplicated

The current design duplicates standing-water questions between the nuisance track and the standing-water track. Don't. One Standing Water section on the form. Quick-append buttons for common water sources, and because "other" is as common as any specific category, buttons keep the operator moving instead of forcing an awkward selection from an incomplete list.

On the caller's property: Potted plants, Yard drains, Containers, Pool/spa, Kiddie pool, Other

Nearby: Neighbor, Ditch/drain, Field, Other

Owner: Caller, Neighbor, Public, Unknown

Adults seen at water: Yes many, Yes a few, No

Each button appends text and a tag (e.g. source-potted-plants, nearby-neighbor, owner-caller, adults-many).

The feature location gets its own address field + map pin. The water might be at a different address than the caller, so this has to be separate. Two workflows: type an address, or click on the map.

Photo capture during the call

There's no mechanism for this in the current design. Every call needs file upload buttons — [Send Text] [Send Email] [Copy URL]. The link carries the call session so the caller doesn't re-enter anything. They open the link, add files, done. The upload page should be as bare as possible — just the upload UI, no context about the address or reason. If something is wrong with the upload, a bare page gives the caller nothing to argue about.

Accepts any file type: images, documents, signed mosquito control plans, PDFs.

This is available on every call, not just compliance.

Full form structure

Fixed order, every section always visible, operator tabs through. Same layout every call — builds muscle memory. Auto-save as the operator works, Submit to complete.

Each section has a visible PROMPT telling the operator what question to ask.

When a call-reason checkbox is checked, its corresponding section gets a background highlight color so the operator can visually scan which sections are active. All sections stay visible regardless.

1. Caller — Name, Phone, Email, Caller Address (required, with address lookup), Preferred Language [English] [Spanish]

  • ☐ Permission to enter property
  • ☐ Anonymous report — means don't disclose caller identity to the homeowner, NOT anonymous to the district. We still collect their name and phone.

2. Call Reason (multi-select) — ☐ Compliance flyer, ☐ Adult mosquito problem, ☐ Reporting standing water

3. Compliance (green highlight) — Prompt: "Why are you calling about the flyer? Are you having trouble submitting evidence? Do you know why you were contacted?" Text area for what the caller says.

4. Adult Mosquitoes (orange/red highlight) — Prompt: "When are you seeing them, and are you getting bitten?" Toggle buttons as described above, plus a text area for what they describe.

5. Standing Water (blue highlight — shared) — Prompt: "Do you have containers, plants, pools, or water around your home? What about your neighbors?" Quick-append buttons as described above. Feature location with separate address + map pin.

6. Dogs — ☐ Dog on property. Applies to any call reason. Safety field for tech visits.

7. Scheduled — Date/time text if a visit is scheduled during the call. Don't build scheduling into the form, just capture it if it happens.

8. File Upload — [Send Text] [Send Email] [Copy URL]

9. Notes — free text catch-all

FieldSeeker mapping

The data from this form maps to ServiceRequest columns. Here's the complete mapping:

Caller info → CLR* fields: Clrfname, Clrphone1, Clremail, Clraddr1/Clrcity/Clrstate/Clrzip (from geocode), Clranon (1 if anonymous), Spanish (1 if Spanish, 0 if English)

Feature info → REQ* fields: Reqaddr1/Reqcity/Reqstate/Reqzip (separate from caller), Reqpermission (1 if granted)

Text flow: Everything the caller says — compliance text + mosquito text + standing water text + notes — concatenated into Reqdescr. All button tags combined comma-separated into Reqtarget. Tech-relevant info (dog, permission, scheduling) into Reqnotesfortech.

Operational: Dog (1 if checked), Scheduleddate/Scheduled/ScheduleNotes, Source = "Phone" hardcoded, Entrytech = operator who took the call.

Left null intentionally: Issuesreported, Reqfldnotes, Reqnotesforcust, Reqprogramactions, Comments — these are for field staff or unused.

Future (lower priority — your judgment on timing)

  • Address lookup that pulls up all recorded property info when the operator enters an address: previous communications, compliance history, known features, inspection records. Huge value but probably not v1.
  • Notice details: if a compliance flyer was posted at this address, show the date and referenced feature.
@ned I did a more careful design review of the phone intake flow, and the three-track approach in PR #173 isn't going to work for real phone calls. Here's what needs to change and why. ## The problem with three separate tracks Real phone conversations don't stay in one lane. A caller reporting nuisance mosquitoes will also mention their neighbor's neglected pool. Someone calling about a compliance flyer will describe adult mosquito activity without being prompted. The operator shouldn't have to pick a track before they know what the caller is going to say — and they shouldn't have to switch tracks mid-call. The fix is one form with all sections always visible, and three call-reason checkboxes at the top that the operator checks as the conversation develops. All three can be checked on a single call. ## The form needs its own space — don't cover the map PR #173 replaces the map with the form. That's backwards. The map is the operator's most important context tool. Satellite view tells them whether this is a rural property (pasture mosquitoes) or dense urban (Aedes aegypti containers). Nearby call pins tell them if this is part of a cluster or an isolated report. Move the form into the right column — the action-items panel area. Map stays visible at top. Center panel stays free so the operator can search property records and look up other information while they're on the call. ## The operator isn't an entomologist The current design asks about larvae and pupae. The caller can't answer those questions. Replace technical mosquito-development fields with conversational questions the caller CAN answer: - When are you seeing them? - Are you getting bitten? - Indoors or outdoors? - What time of day? Use quick-append toggle buttons for common answers. Each button does two things: appends readable text to a notes field, and applies a tag string that backend logic can use for classification. The tags are configuration, not hardcoded schema — we should be able to change them per district without code changes. Daytime → `day-biting`, Morning or evening → `crepuscular-biting`, Indoors → `indoor-biting`, Outdoors → `outdoor-biting`, All day → `all-day-biting`, Not being bitten → `no-biting` ## Standing water is shared, not duplicated The current design duplicates standing-water questions between the nuisance track and the standing-water track. Don't. One Standing Water section on the form. Quick-append buttons for common water sources, and because "other" is as common as any specific category, buttons keep the operator moving instead of forcing an awkward selection from an incomplete list. On the caller's property: Potted plants, Yard drains, Containers, Pool/spa, Kiddie pool, Other Nearby: Neighbor, Ditch/drain, Field, Other Owner: Caller, Neighbor, Public, Unknown Adults seen at water: Yes many, Yes a few, No Each button appends text and a tag (e.g. `source-potted-plants`, `nearby-neighbor`, `owner-caller`, `adults-many`). The feature location gets its own address field + map pin. The water might be at a different address than the caller, so this has to be separate. Two workflows: type an address, or click on the map. ## Photo capture during the call There's no mechanism for this in the current design. Every call needs file upload buttons — [Send Text] [Send Email] [Copy URL]. The link carries the call session so the caller doesn't re-enter anything. They open the link, add files, done. The upload page should be as bare as possible — just the upload UI, no context about the address or reason. If something is wrong with the upload, a bare page gives the caller nothing to argue about. Accepts any file type: images, documents, signed mosquito control plans, PDFs. This is available on every call, not just compliance. ## Full form structure Fixed order, every section always visible, operator tabs through. Same layout every call — builds muscle memory. Auto-save as the operator works, Submit to complete. Each section has a visible PROMPT telling the operator what question to ask. When a call-reason checkbox is checked, its corresponding section gets a background highlight color so the operator can visually scan which sections are active. All sections stay visible regardless. **1. Caller** — Name, Phone, Email, Caller Address (required, with address lookup), Preferred Language [English] [Spanish] - ☐ Permission to enter property - ☐ Anonymous report — means don't disclose caller identity to the homeowner, NOT anonymous to the district. We still collect their name and phone. **2. Call Reason** (multi-select) — ☐ Compliance flyer, ☐ Adult mosquito problem, ☐ Reporting standing water **3. Compliance** (green highlight) — Prompt: "Why are you calling about the flyer? Are you having trouble submitting evidence? Do you know why you were contacted?" Text area for what the caller says. **4. Adult Mosquitoes** (orange/red highlight) — Prompt: "When are you seeing them, and are you getting bitten?" Toggle buttons as described above, plus a text area for what they describe. **5. Standing Water** (blue highlight — shared) — Prompt: "Do you have containers, plants, pools, or water around your home? What about your neighbors?" Quick-append buttons as described above. Feature location with separate address + map pin. **6. Dogs** — ☐ Dog on property. Applies to any call reason. Safety field for tech visits. **7. Scheduled** — Date/time text if a visit is scheduled during the call. Don't build scheduling into the form, just capture it if it happens. **8. File Upload** — [Send Text] [Send Email] [Copy URL] **9. Notes** — free text catch-all ## FieldSeeker mapping The data from this form maps to ServiceRequest columns. Here's the complete mapping: Caller info → CLR* fields: Clrfname, Clrphone1, Clremail, Clraddr1/Clrcity/Clrstate/Clrzip (from geocode), Clranon (1 if anonymous), Spanish (1 if Spanish, 0 if English) Feature info → REQ* fields: Reqaddr1/Reqcity/Reqstate/Reqzip (separate from caller), Reqpermission (1 if granted) Text flow: Everything the caller says — compliance text + mosquito text + standing water text + notes — concatenated into Reqdescr. All button tags combined comma-separated into Reqtarget. Tech-relevant info (dog, permission, scheduling) into Reqnotesfortech. Operational: Dog (1 if checked), Scheduleddate/Scheduled/ScheduleNotes, Source = "Phone" hardcoded, Entrytech = operator who took the call. Left null intentionally: Issuesreported, Reqfldnotes, Reqnotesforcust, Reqprogramactions, Comments — these are for field staff or unused. ## Future (lower priority — your judgment on timing) - Address lookup that pulls up all recorded property info when the operator enters an address: previous communications, compliance history, known features, inspection records. Huge value but probably not v1. - Notice details: if a compliance flyer was posted at this address, show the date and referenced feature.
Author
Owner

@ned are you reading?

@ned are you reading?
Member

Reading, neighborino! 👋 And sorry it went quiet after PR #173 — I've now gone through the design review top to bottom, and you're right: the three-track approach doesn't survive contact with a real phone call. It's already superseded (#173 is closed), so this lands as a fresh PR.

Here's my read of the new direction, so we're aligned before I start:

What changes vs. the old approach

  1. One form, one flow. No type selector up front. All sections always visible in fixed order; the three call-reason checkboxes (Compliance flyer / Adult mosquitoes / Standing water) highlight their section, they don't show/hide it. Operator tabs through the same layout every call — muscle memory, as you said.
  2. Form in the right column (the action-items panel area), not covering the map. Map stays visible for satellite context and nearby-call clusters; center column stays free for property-record lookups mid-call.
  3. Conversational questions, not entomology. No larvae/pupae. Quick-append toggle buttons append readable text to the notes and a tag for classification (day-biting, indoor-biting, source-potted-plants, nearby-neighbor, owner-caller, adults-many, ...). Buttons/prompts/tags are configuration, not schema — changeable per district without code.
  4. Standing water is one shared section, not duplicated. Quick-append for on-property / nearby / owner / adults-seen, and the feature location gets its own address + map pin, separate from the caller address (two workflows: type an address or click the map).
  5. Photo capture on every call: [Send Text] / [Send Email] / [Copy URL] → tokenized link carrying the call session → bare upload page, any file type, zero context shown.
  6. FieldSeeker mapping preserved in the data model: caller → CLR* fields, feature → REQ* fields, all caller text concatenated → Reqdescr, tags joined → Reqtarget, dog/permission/schedule → Reqnotesfortech, Source="Phone" hardcoded, Entrytech = operator. The form captures these as structured fields so #168 can push without re-asking anything.

Decisions I'm making (flag if you disagree):

  • Config: quick-append button sets (label + tag + section), section prompts, highlight colors, and language options go in the per-district org config with sane defaults — same pattern as other org-scoped settings, no code changes to tweak per district.
  • Upload link: unguessable random token per communication, deliberately unauthenticated and bare; uploads attach to the communication even if they arrive after the call ends.
  • Auto-save: draft persists as the operator works; Submit finalizes so it appears in the workbench immediately and can be pushed via #168.

Plan:

  1. Backend: new phone-intake model carrying caller / feature / call-reasons / tags / uploads / structured notes (replaces the PR #173 endpoint).
  2. Form: 9-section layout with quick-append config + reason-driven highlights.
  3. Placement: right column in the workbench; map and center untouched.
  4. Fresh PR (this closes out the old #173 design entirely).

On the two future items (property-history address lookup, notice details): agree they're high-value, and I'll keep the data model from painting us into a corner on them, but I'll treat them as follow-ups after v1 is reviewed.

Starting now. Okaly-dokely do! 🎯

Reading, neighborino! 👋 And sorry it went quiet after PR #173 — I've now gone through the design review top to bottom, and you're right: the three-track approach doesn't survive contact with a real phone call. It's already superseded (#173 is closed), so this lands as a fresh PR. Here's my read of the new direction, so we're aligned before I start: **What changes vs. the old approach** 1. **One form, one flow.** No type selector up front. All sections always visible in fixed order; the three call-reason checkboxes (Compliance flyer / Adult mosquitoes / Standing water) *highlight* their section, they don't show/hide it. Operator tabs through the same layout every call — muscle memory, as you said. 2. **Form in the right column** (the action-items panel area), not covering the map. Map stays visible for satellite context and nearby-call clusters; center column stays free for property-record lookups mid-call. 3. **Conversational questions, not entomology.** No larvae/pupae. Quick-append toggle buttons append readable text to the notes *and* a tag for classification (day-biting, indoor-biting, source-potted-plants, nearby-neighbor, owner-caller, adults-many, ...). Buttons/prompts/tags are configuration, not schema — changeable per district without code. 4. **Standing water is one shared section**, not duplicated. Quick-append for on-property / nearby / owner / adults-seen, and the **feature location gets its own address + map pin**, separate from the caller address (two workflows: type an address or click the map). 5. **Photo capture on every call**: [Send Text] / [Send Email] / [Copy URL] → tokenized link carrying the call session → bare upload page, any file type, zero context shown. 6. **FieldSeeker mapping preserved in the data model**: caller → CLR* fields, feature → REQ* fields, all caller text concatenated → Reqdescr, tags joined → Reqtarget, dog/permission/schedule → Reqnotesfortech, Source="Phone" hardcoded, Entrytech = operator. The form captures these as structured fields so #168 can push without re-asking anything. **Decisions I'm making (flag if you disagree):** - **Config:** quick-append button sets (label + tag + section), section prompts, highlight colors, and language options go in the per-district org config with sane defaults — same pattern as other org-scoped settings, no code changes to tweak per district. - **Upload link:** unguessable random token per communication, deliberately unauthenticated and bare; uploads attach to the communication even if they arrive after the call ends. - **Auto-save:** draft persists as the operator works; Submit finalizes so it appears in the workbench immediately and can be pushed via #168. **Plan:** 1. Backend: new phone-intake model carrying caller / feature / call-reasons / tags / uploads / structured notes (replaces the PR #173 endpoint). 2. Form: 9-section layout with quick-append config + reason-driven highlights. 3. Placement: right column in the workbench; map and center untouched. 4. Fresh PR (this closes out the old #173 design entirely). On the two future items (property-history address lookup, notice details): agree they're high-value, and I'll keep the data model from painting us into a corner on them, but I'll treat them as follow-ups after v1 is reviewed. Starting now. Okaly-dokely do! 🎯
Author
Owner

Hi @ned, sounds good, go for it

Hi @ned, sounds good, go for it
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Gleipnir/nidus-sync#167
No description provided.