Incident contract: lock the schema, settle naming, and define extraction accuracy rules #605
Replies: 2 comments
-
|
Thanks for putting this together. Replying to all three. 1. Locking the incident contractThe draft schema and the link were proposed by me, and in the last community meet @marcvergees said a few things need to change to match FireForm's current requirements. 2. NamingThis has been on my mind for a while too. We never picked a proper name for this JSON, so both terms ended up in the codebase. I have wanted to bring this up for a while, so this is a good place to discuss and finalise.
When I built the contract, these two names felt too close, but I did not want to pick the final name by myself, so I left them as is at that time. I wanted us to decide the naming together later, and I think this is the best time to do. So they should stay as two separate things, but we need to agree on clearer names for both and then update them everywhere in the contracts and the codebase. 3. Accuracy rulesSmall correction, I (or we) did not assign this to @vharkins1. In the meet he showed interest in these kinds of issues, so I just thought he would be a better person to address this issue than me. Looking forward to the numbers. The one-shot vs split-calls result is the big one, since it decides the architecture before any code gets written. |
Beta Was this translation helpful? Give feedback.
-
|
Hey @abhishek-8081, @chetanr25 and @vharkins1. 1. Incident contractI agree guys with the fact that something has to be changed, but basically is gonna be getting rid of everything. We don't need to store any field in the incident rather than which was the input given to the LLM. It looks like @chetanr25 tried to create a structured schema of what an incident was, but we don't need that based on how we approach FireForm. Furthermore, since FireForm is going to be something bigger and emergency-department-agnostic soon, we don't need to add specific fields of fire departments in the incident contract. 2. NamingFor easiness, could we call them:
3. Accuracy rulesBased on my experience in this project I can tell:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Umbrella thread for everything that has to be settled before AI extraction (#550) can be
built. #550 is blocked until these are resolved. Three parts.
#550 is built entirely around the extracted JSON, so the schema must be final before any
extraction code. The last community meet decided some fields need to change to match
FireForm's current requirements.
@chetanr25 ,Can you please list the agreed changes here? Once they're
written down, we lock it and treat that as final for #550.
If an issue or PR already
tracks the schema edits, link it and we'll use that.
Current draft for reference: https://fireform-gsoc.chetanr25.in/incident-contract
Grepping the codebase, both terms are in heavy use, and they look like they may be two
different things:
extraction-record.yaml (the extracted JSON output). Schema file: incident-contract.yaml.
openapi.yaml. Separate schema file: incident-record.yaml.
So there are two schema files and two terms, split across the extraction path vs the
incidents/CRUD path.
@chetanr25 -are these the same object with two names, or two different things (e.g. the
extraction output vs the stored incident from #555)?
These decide how extraction behaves, and they can't be set in the abstract — they depend
on what the local model can actually do. Open questions:
for a human to review later?
I'll run a viability test before we decide any of these: real sample narratives against
the current draft schema, measuring valid-JSON rate, per-field accuracy, hallucination
rate, and whether one-shot extraction of 100+ fields holds or whether we need to split
into smaller calls. That last result changes the architecture, so it comes before code.
I'll post the numbers here so these rules get decided on evidence.
@vharkins1 — input welcome on all three, especially the accuracy rules.
Beta Was this translation helpful? Give feedback.
All reactions