"The app does not diagnose; the daughter answers." Not a disclaimer — a line drawn straight through the middle of the architecture.
One Sentence, Load-Bearing
Forge holds symptoms, medications, and medical records, so its most important design decision is not a feature — it is a line. The app does not diagnose; the daughter answers. This is a hard invariant: it shapes prompt design, UI copy, and what the analysis engine is even allowed to emit — it is not a paragraph of fine print nobody reads. Cross it and you have not written bad copy; you have shipped a diagnostic device that was never supposed to exist.
What 'Diagnose' Actually Means
Precision matters here, because "don't give medical advice" is too blunt and would gut the product. The forbidden acts, on a Forge-generated surface, are exactly four: naming a condition as a diagnosis, asserting a cause, predicting an outcome, and recommending that a treatment be started, stopped, or changed. Everything short of those is not merely allowed — it is the entire point of the engine:
The Same Data, Two Outputs
The line is easiest to feel on one dataset. Given "a flare twice in the week after heavy leg days," an observation says: these co-occur, here are the crumb IDs, it may be worth asking a doctor whether the load matters. A diagnosis says: your training is causing gout flares, cut leg day. Same evidence — and the second version named a condition, asserted a cause, and prescribed a change, three of the four forbidden acts in one breath. When you build the analysis surface in Track 6, this is the line every narration is checked against, mechanically.
Notice what the line is not: it is not silence, and it is not cowardice. Observation with evidence is often more useful to a real doctor than a confident guess, because it hands them the timeline instead of a conclusion. The engine's job is to make the pattern visible and legible — the naming stays with the human who is licensed to do it.