Phase 20L Scene prompt
This commit is contained in:
parent
6932518ec6
commit
7e7ac46880
@ -58,6 +58,8 @@ It should not:
|
||||
- Do not include Markdown in the response.
|
||||
- Do not include code fences in the response.
|
||||
- Do not mention these instructions in the response.
|
||||
- Do not invent, rename or omit schema properties.
|
||||
- Do not output additional undocumented properties.
|
||||
- Do not call out missing data unless it belongs in `sourceLimits`.
|
||||
- Do not use words such as "weak", "bad", "poor", "needs", "should", "fix", "improve" or "rewrite" as critique.
|
||||
- Do not create suggestions that tell the author what to write.
|
||||
@ -76,7 +78,7 @@ If something is not stated or strongly implied:
|
||||
|
||||
- use `null` for scalar values;
|
||||
- use an empty array for lists;
|
||||
- omit weak guesses from entity lists;
|
||||
- omit weak entity guesses from entity arrays rather than inventing facts;
|
||||
- lower confidence when retaining an uncertain observation is useful;
|
||||
- add a note in `sourceLimits.ambiguityNotes` when the source text limits certainty.
|
||||
|
||||
@ -172,7 +174,7 @@ Each metric must be an object:
|
||||
{ "score": 8, "confidence": 0.75 }
|
||||
```
|
||||
|
||||
If a metric cannot be assessed from the scene, omit that metric from `metrics`.
|
||||
Always emit every preferred V1 metric. If a metric is barely present, use score `1` with an appropriate confidence. Do not omit preferred metric objects.
|
||||
|
||||
## Character Reporting Rules
|
||||
|
||||
@ -186,8 +188,14 @@ Report characters who are:
|
||||
For each character:
|
||||
|
||||
- use the manuscript's name or label;
|
||||
- include exactly these properties: `name`, `roleInScene`, `mentionedOnly`, `aliases`, `actions`, `confidence`, `notes`;
|
||||
- set `mentionedOnly` to `false` when active in the scene;
|
||||
- set `mentionedOnly` to `true` when absent and only referred to;
|
||||
- set `roleInScene` to one of `present`, `pointOfView`, `speaker`, `mentioned` or `unclear`;
|
||||
- use `roleInScene: "mentioned"` for mentioned-only characters;
|
||||
- use `aliases: []` when no aliases are supported;
|
||||
- use `actions: []` when no factual actions are supported;
|
||||
- use `notes: null` when no note is needed;
|
||||
- keep `actions` factual;
|
||||
- use `aliases` only when the scene clearly supports them;
|
||||
- do not infer private motives;
|
||||
@ -217,6 +225,10 @@ Use:
|
||||
- `locationType: "generic"` for unnamed rooms or place types;
|
||||
- `locationType: "unclear"` when the distinction is not supported.
|
||||
|
||||
For each location, include exactly these properties: `name`, `locationType`, `genericRoomType`, `parentLocationHint`, `presentInScene`, `mentionedOnly`, `confidence`, `notes`.
|
||||
|
||||
Use the `name` property for both named locations and generic labels. For an unnamed generic place, use the generic label as `name`, such as `"stair"` or `"doorway"`, and also populate `genericRoomType` when supported. Use `presentInScene: true` when the action occurs there. Use `mentionedOnly: true` only when the location is referred to but not used as the scene's action space. Use `notes: null` when no note is needed.
|
||||
|
||||
Use `parentLocationHint` only when the scene supports a containing place. Do not invent location hierarchy.
|
||||
|
||||
## Asset Reporting Rules
|
||||
@ -232,6 +244,10 @@ Report an object as an asset when it is:
|
||||
|
||||
Do not report ordinary scenery or props unless the scene gives them story importance.
|
||||
|
||||
For each asset, include exactly these properties: `name`, `assetType`, `status`, `ownerOrHolder`, `mentionedOnly`, `confidence`, `notes`.
|
||||
|
||||
Use `assetType: null`, `status: null` or `ownerOrHolder: null` when unsupported. Use `mentionedOnly: false` when the asset is physically present or directly acted on in the scene. Use `notes: null` when no note is needed.
|
||||
|
||||
## Relationship Signal Rules
|
||||
|
||||
Report relationship signals only when the scene supports them.
|
||||
@ -252,6 +268,10 @@ Use neutral terms such as:
|
||||
|
||||
These are scene-local signals for later Relationship Intelligence. They are not final relationship records.
|
||||
|
||||
For each relationship signal, include exactly these properties: `characterA`, `characterB`, `relationshipSignal`, `evidence`, `confidence`.
|
||||
|
||||
Do not use property names such as `characters`, `signal`, `type`, `description` or `notes` in relationship objects. Use one relationship object per supported signal between two named characters. If the same pair has multiple supported signals, each object must still use `characterA`, `characterB`, `relationshipSignal`, `evidence` and `confidence`.
|
||||
|
||||
## Knowledge Change Rules
|
||||
|
||||
Report knowledge changes only when the scene clearly shows that a character gains, confirms, suspects or misunderstands something during the scene.
|
||||
@ -282,6 +302,7 @@ Allowed `changeType` values:
|
||||
|
||||
Rules:
|
||||
|
||||
- Include exactly these properties in every knowledge change: `recipientCharacter`, `knowledgeItem`, `changeType`, `sourceCharacter`, `sourceType`, `evidence`, `confidence`.
|
||||
- Do not use `knowledgeChanges` for information the reader learns but no character learns.
|
||||
- Do not assume a character did not know something before unless the scene supports that.
|
||||
- Use `sourceCharacter: null` when the source is not a character.
|
||||
@ -303,6 +324,10 @@ Preserve vague wording when the manuscript is vague.
|
||||
|
||||
Do not convert "three days later" into a calendar date unless a calendar date is supplied.
|
||||
|
||||
For each timeline clue, include exactly these properties: `clue`, `relativeOrder`, `absoluteDate`, `evidence`, `confidence`.
|
||||
|
||||
Use `relativeOrder: null` when no relative ordering is supported. Use `absoluteDate: null` when no exact date is supplied.
|
||||
|
||||
## Questions Raised Rules
|
||||
|
||||
Report questions the scene creates or sharpens.
|
||||
@ -317,12 +342,18 @@ Bad:
|
||||
|
||||
`Should the author make this scene clearer?`
|
||||
|
||||
For each raised question, include exactly these properties: `question`, `scope`, `evidence`, `confidence`.
|
||||
|
||||
Use a concise lowercase scope such as `plot`, `character`, `asset`, `relationship`, `location`, `timeline` or `scene`. Do not omit `scope`.
|
||||
|
||||
## Questions Answered Rules
|
||||
|
||||
Report answers supplied by the scene.
|
||||
|
||||
Answers may be partial. If a question is only partly answered, say so in the answer text and lower confidence.
|
||||
|
||||
For each answered question, include exactly these properties: `question`, `answer`, `evidence`, `confidence`.
|
||||
|
||||
## Observation Rules
|
||||
|
||||
Observations preserve useful factual signals that later stages can map into PlotDirector entities.
|
||||
@ -370,6 +401,7 @@ Observation rules:
|
||||
- Observations must remain neutral.
|
||||
- Observations must be evidence-backed.
|
||||
- Observations are not final canon.
|
||||
- Include exactly these properties in every observation: `observationType`, `subjectEntityType`, `subjectName`, `objectEntityType`, `objectName`, `predicate`, `description`, `evidence`, `confidence`.
|
||||
- Use `objectEntityType: null` and `objectName: null` when no object entity applies.
|
||||
- Use PlotDirector entity concepts where possible.
|
||||
- Prefer controlled lowerCamelCase predicate values where possible.
|
||||
@ -417,16 +449,109 @@ Return exactly one JSON object matching this shape:
|
||||
"parentLocationHint": null,
|
||||
"confidence": 0.0
|
||||
},
|
||||
"characters": [],
|
||||
"locations": [],
|
||||
"assets": [],
|
||||
"relationships": [],
|
||||
"knowledgeChanges": [],
|
||||
"timelineClues": [],
|
||||
"questionsRaised": [],
|
||||
"questionsAnswered": [],
|
||||
"observations": [],
|
||||
"metrics": {},
|
||||
"characters": [
|
||||
{
|
||||
"name": "",
|
||||
"roleInScene": "unclear",
|
||||
"mentionedOnly": false,
|
||||
"aliases": [],
|
||||
"actions": [],
|
||||
"confidence": 0.0,
|
||||
"notes": null
|
||||
}
|
||||
],
|
||||
"locations": [
|
||||
{
|
||||
"name": "",
|
||||
"locationType": "unclear",
|
||||
"genericRoomType": null,
|
||||
"parentLocationHint": null,
|
||||
"presentInScene": false,
|
||||
"mentionedOnly": false,
|
||||
"confidence": 0.0,
|
||||
"notes": null
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
{
|
||||
"name": "",
|
||||
"assetType": null,
|
||||
"status": null,
|
||||
"ownerOrHolder": null,
|
||||
"mentionedOnly": false,
|
||||
"confidence": 0.0,
|
||||
"notes": null
|
||||
}
|
||||
],
|
||||
"relationships": [
|
||||
{
|
||||
"characterA": "",
|
||||
"characterB": "",
|
||||
"relationshipSignal": "",
|
||||
"evidence": "",
|
||||
"confidence": 0.0
|
||||
}
|
||||
],
|
||||
"knowledgeChanges": [
|
||||
{
|
||||
"recipientCharacter": "",
|
||||
"knowledgeItem": "",
|
||||
"changeType": "Learns",
|
||||
"sourceCharacter": null,
|
||||
"sourceType": null,
|
||||
"evidence": "",
|
||||
"confidence": 0.0
|
||||
}
|
||||
],
|
||||
"timelineClues": [
|
||||
{
|
||||
"clue": "",
|
||||
"relativeOrder": null,
|
||||
"absoluteDate": null,
|
||||
"evidence": "",
|
||||
"confidence": 0.0
|
||||
}
|
||||
],
|
||||
"questionsRaised": [
|
||||
{
|
||||
"question": "",
|
||||
"scope": "plot",
|
||||
"evidence": "",
|
||||
"confidence": 0.0
|
||||
}
|
||||
],
|
||||
"questionsAnswered": [
|
||||
{
|
||||
"question": "",
|
||||
"answer": "",
|
||||
"evidence": "",
|
||||
"confidence": 0.0
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
{
|
||||
"observationType": "CharacterAction",
|
||||
"subjectEntityType": "Character",
|
||||
"subjectName": "",
|
||||
"objectEntityType": null,
|
||||
"objectName": null,
|
||||
"predicate": "observes",
|
||||
"description": "",
|
||||
"evidence": "",
|
||||
"confidence": 0.0
|
||||
}
|
||||
],
|
||||
"metrics": {
|
||||
"action": { "score": 1, "confidence": 0.0 },
|
||||
"emotion": { "score": 1, "confidence": 0.0 },
|
||||
"tension": { "score": 1, "confidence": 0.0 },
|
||||
"conflict": { "score": 1, "confidence": 0.0 },
|
||||
"mystery": { "score": 1, "confidence": 0.0 },
|
||||
"romance": { "score": 1, "confidence": 0.0 },
|
||||
"humour": { "score": 1, "confidence": 0.0 },
|
||||
"revelation": { "score": 1, "confidence": 0.0 },
|
||||
"pacingIntensity": { "score": 1, "confidence": 0.0 }
|
||||
},
|
||||
"sourceLimits": {
|
||||
"containsAmbiguity": false,
|
||||
"ambiguityNotes": []
|
||||
@ -434,7 +559,9 @@ Return exactly one JSON object matching this shape:
|
||||
}
|
||||
```
|
||||
|
||||
All arrays must be present.
|
||||
The example arrays above show object shape. In the actual response, use `[]` for any array with no supported items. Never output placeholder objects with empty required strings.
|
||||
|
||||
All arrays must be present. Every object in an array must include every property shown for that object type. Every required object must be present. Unknown scalar values must be `null` only where the schema permits null. Unknown lists must be `[]`. Do not omit properties.
|
||||
|
||||
Use valid JSON:
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user