@proposit/proposit-core 3.4.0 → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/extensions/basics/schemata.d.ts.map +1 -1
  2. package/dist/extensions/basics/schemata.js +1 -1
  3. package/dist/extensions/basics/schemata.js.map +1 -1
  4. package/dist/extensions/pipelines/base/finalize-response-v2.d.ts.map +1 -1
  5. package/dist/extensions/pipelines/base/finalize-response-v2.js +119 -10
  6. package/dist/extensions/pipelines/base/finalize-response-v2.js.map +1 -1
  7. package/dist/extensions/pipelines/base/source-anchors.d.ts +2 -1
  8. package/dist/extensions/pipelines/base/source-anchors.d.ts.map +1 -1
  9. package/dist/extensions/pipelines/base/source-anchors.js +41 -6
  10. package/dist/extensions/pipelines/base/source-anchors.js.map +1 -1
  11. package/dist/extensions/pipelines/base/stages/claim-canonicalization.d.ts +1 -1
  12. package/dist/extensions/pipelines/base/stages/claim-canonicalization.d.ts.map +1 -1
  13. package/dist/extensions/pipelines/base/stages/claim-canonicalization.js +1 -1
  14. package/dist/extensions/pipelines/base/stages/conclusion-selection.d.ts +4 -3
  15. package/dist/extensions/pipelines/base/stages/conclusion-selection.d.ts.map +1 -1
  16. package/dist/extensions/pipelines/base/stages/conclusion-selection.js +8 -2
  17. package/dist/extensions/pipelines/base/stages/conclusion-selection.js.map +1 -1
  18. package/dist/extensions/pipelines/base/stages/relation-extraction.d.ts +1 -1
  19. package/dist/extensions/pipelines/base/stages/relation-extraction.d.ts.map +1 -1
  20. package/dist/extensions/pipelines/base/stages/relation-extraction.js +1 -0
  21. package/dist/extensions/pipelines/base/stages/relation-extraction.js.map +1 -1
  22. package/dist/extensions/pipelines/base/stages/schemas.d.ts +3 -0
  23. package/dist/extensions/pipelines/base/stages/schemas.d.ts.map +1 -1
  24. package/dist/extensions/pipelines/base/stages/schemas.js +18 -0
  25. package/dist/extensions/pipelines/base/stages/schemas.js.map +1 -1
  26. package/dist/extensions/pipelines/ingestion/canonical-stages.d.ts.map +1 -1
  27. package/dist/extensions/pipelines/ingestion/canonical-stages.js +1 -0
  28. package/dist/extensions/pipelines/ingestion/canonical-stages.js.map +1 -1
  29. package/dist/extensions/pipelines/ingestion/scribe/extract-stage.d.ts +27 -11
  30. package/dist/extensions/pipelines/ingestion/scribe/extract-stage.d.ts.map +1 -1
  31. package/dist/extensions/pipelines/ingestion/scribe/extract-stage.js +56 -22
  32. package/dist/extensions/pipelines/ingestion/scribe/extract-stage.js.map +1 -1
  33. package/dist/extensions/pipelines/ingestion/scribe/schemas.d.ts +27 -1
  34. package/dist/extensions/pipelines/ingestion/scribe/schemas.d.ts.map +1 -1
  35. package/dist/extensions/pipelines/ingestion/scribe/schemas.js +32 -6
  36. package/dist/extensions/pipelines/ingestion/scribe/schemas.js.map +1 -1
  37. package/dist/extensions/pipelines/ingestion/scribe/scribe.d.ts.map +1 -1
  38. package/dist/extensions/pipelines/ingestion/scribe/scribe.js +25 -9
  39. package/dist/extensions/pipelines/ingestion/scribe/scribe.js.map +1 -1
  40. package/dist/extensions/pipelines/ingestion/scribe/structure-stage.d.ts +1 -1
  41. package/dist/extensions/pipelines/ingestion/scribe/structure-stage.d.ts.map +1 -1
  42. package/dist/extensions/pipelines/ingestion/scribe/structure-stage.js +7 -1
  43. package/dist/extensions/pipelines/ingestion/scribe/structure-stage.js.map +1 -1
  44. package/package.json +1 -1
@@ -110,6 +110,7 @@ export declare const RelationExtractionOutputSchema: Type.TObject<{
110
110
  type: Type.TLiteral<"inference">;
111
111
  antecedents: Type.TArray<Type.TString>;
112
112
  consequent: Type.TString;
113
+ title: Type.TString;
113
114
  evidence: Type.TObject<{
114
115
  segmentIds: Type.TArray<Type.TString>;
115
116
  quote: Type.TString;
@@ -121,12 +122,14 @@ export type TInferenceRelation = TRelationExtractionOutput["relations"][number];
121
122
  export declare const ConclusionSelectionLlmOutputSchema: Type.TObject<{
122
123
  conclusionCandidates: Type.TArray<Type.TString>;
123
124
  rationale: Type.TString;
125
+ title: Type.TString;
124
126
  }>;
125
127
  export type TConclusionSelectionLlmOutput = Static<typeof ConclusionSelectionLlmOutputSchema>;
126
128
  export declare const ConclusionSelectionOutputSchema: Type.TObject<{
127
129
  conclusionMiniId: Type.TUnion<[Type.TString, Type.TNull]>;
128
130
  conclusionCandidates: Type.TArray<Type.TString>;
129
131
  rationale: Type.TString;
132
+ title: Type.TString;
130
133
  }>;
131
134
  export type TConclusionSelectionOutput = Static<typeof ConclusionSelectionOutputSchema>;
132
135
  export declare const FormulaPremiseRoleHintSchema: Type.TUnion<[Type.TLiteral<"freeform">, Type.TLiteral<"conclusion">]>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/base/stages/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/base/stages/schemas.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,13 @@ export const RelationExtractionOutputSchema = Type.Object({
158
158
  type: Type.Literal("inference"),
159
159
  antecedents: Type.Array(Type.String()),
160
160
  consequent: Type.String(),
161
+ // A short noun phrase naming the inferential move, used as
162
+ // the title of the premise this relation compiles into.
163
+ // Plain `Type.String()` on purpose: strict structured output
164
+ // ignores `maxLength`, so the length cap is applied where the
165
+ // title is read rather than being a validation gate that
166
+ // could discard an otherwise complete run.
167
+ title: Type.String(),
161
168
  evidence: Type.Object({
162
169
  segmentIds: Type.Array(Type.String()),
163
170
  quote: Type.String(),
@@ -172,16 +179,27 @@ export const RelationExtractionOutputSchema = Type.Object({
172
179
  export const ConclusionSelectionLlmOutputSchema = Type.Object({
173
180
  conclusionCandidates: Type.Array(Type.String()),
174
181
  rationale: Type.String(),
182
+ // A short noun phrase naming the concluding move, authored for the
183
+ // FIRST candidate only. Whether it is usable depends on which
184
+ // candidate resolution actually picks — see the output schema below.
185
+ title: Type.String(),
175
186
  });
176
187
  // The stage's downstream-visible output: `conclusionMiniId` is the
177
188
  // resolved single pick (the first viable candidate, a relation-graph
178
189
  // fallback when the model returns none, or null when no claim
179
190
  // qualifies), while `conclusionCandidates` carries the model's full
180
191
  // ranked list for consumers that want to offer alternates.
192
+ // `title` is the model's authored title for `conclusionCandidates[0]`,
193
+ // carried verbatim (empty when none was authored). It describes that
194
+ // candidate and no other, so a reader must only use it when
195
+ // `conclusionMiniId` is that same candidate — the check
196
+ // `finalizeResponseV2` performs before preferring it over a composed
197
+ // title.
181
198
  export const ConclusionSelectionOutputSchema = Type.Object({
182
199
  conclusionMiniId: Type.Union([Type.String(), Type.Null()]),
183
200
  conclusionCandidates: Type.Array(Type.String()),
184
201
  rationale: Type.String(),
202
+ title: Type.String(),
185
203
  });
186
204
  // -- Stage 11: formula-compilation --
187
205
  export const FormulaPremiseRoleHintSchema = Type.Union([
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/base/stages/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/base/stages/schemas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-stages.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/canonical-stages.ts"],"names":[],"mappings":"AASA,2DAA2D;AAC3D,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAaxD,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAWvD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC/B,SAAS,MAAM,EAAE,CAMnB"}
1
+ {"version":3,"file":"canonical-stages.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/canonical-stages.ts"],"names":[],"mappings":"AASA,2DAA2D;AAC3D,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAaxD,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAYvD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC/B,SAAS,MAAM,EAAE,CAMnB"}
@@ -26,6 +26,7 @@ export const INGESTION_SCRIBE_STAGE_IDS = [
26
26
  "extract",
27
27
  "claim-canonicalization",
28
28
  "claim-type-classification",
29
+ "claim-mention-extraction",
29
30
  "claim-reference-validation",
30
31
  "variable-assignment",
31
32
  "scribe-structure",
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-stages.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/canonical-stages.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,0EAA0E;AAC1E,+EAA+E;AAC/E,2DAA2D;AAC3D,sCAAsC;AAEtC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC1D,cAAc;IACd,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,wBAAwB;IACxB,2BAA2B;IAC3B,4BAA4B;IAC5B,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;CACvB,CAAA;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IACzD,SAAS;IACT,wBAAwB;IACxB,2BAA2B;IAC3B,4BAA4B;IAC5B,qBAAqB;IACrB,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;CACvB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAChC,UAA8B;IAE9B,IAAI,UAAU,KAAK,4BAA4B;QAC3C,OAAO,2BAA2B,CAAA;IACtC,IAAI,UAAU,KAAK,2BAA2B;QAC1C,OAAO,0BAA0B,CAAA;IACrC,OAAO,EAAE,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"canonical-stages.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/canonical-stages.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,0EAA0E;AAC1E,+EAA+E;AAC/E,2DAA2D;AAC3D,sCAAsC;AAEtC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC1D,cAAc;IACd,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,wBAAwB;IACxB,2BAA2B;IAC3B,4BAA4B;IAC5B,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;CACvB,CAAA;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IACzD,SAAS;IACT,wBAAwB;IACxB,2BAA2B;IAC3B,0BAA0B;IAC1B,4BAA4B;IAC5B,qBAAqB;IACrB,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;CACvB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAChC,UAA8B;IAE9B,IAAI,UAAU,KAAK,4BAA4B;QAC3C,OAAO,2BAA2B,CAAA;IACtC,IAAI,UAAU,KAAK,2BAA2B;QAC1C,OAAO,0BAA0B,CAAA;IACrC,OAAO,EAAE,CAAA;AACb,CAAC"}
@@ -1,27 +1,43 @@
1
1
  import type { TStage } from "../../../../lib/pipelines/types.js";
2
- import { type TClaimCanonicalizationOutput, type TClaimTypeClassificationOutput } from "../../base/stages/index.js";
2
+ import { type TClaimCanonicalizationOutput, type TClaimMentionExtractionOutput, type TClaimTypeClassificationOutput } from "../../base/stages/index.js";
3
3
  import type { TIngestionExtension, TLlmStageOptionsOverride } from "../../base/types.js";
4
+ import { type TScribeExtractOutput } from "./schemas.js";
4
5
  export declare const EXTRACT_MODEL = "gpt-5.4-mini";
5
6
  /** Internal default knobs for scribe's `extract` stage. */
6
7
  export declare const EXTRACT_STAGE_DEFAULTS: TLlmStageOptionsOverride;
7
- export declare const EXTRACT_SYSTEM_PROMPT = "You read a raw argument and emit its canonical claim set in one pass.\n\nFor each distinct proposition the author makes, emit one canonical claim. Two phrasings of the same proposition merge into a single claim.\n\nEach canonical claim carries:\n- `miniId` \u2014 assign in order: c1, c2, c3, ...\n- `mentionIds` \u2014 leave as a single synthetic id per claim (e.g. [\"c1-m\"]); scribe does not track sub-claim mentions.\n- `type` \u2014 \"normal\" (a primary proposition), \"citation\" (content is \"the cited source asserts X\"; populate `url` + `title`, and set `citationTypeGuess`), or \"axiomatic\" (invoked as self-evident; populate `axiom`).\n- `citationTypeGuess` (citation claims only) \u2014 your best guess at the source's IEEE reference type, chosen from the allowed values in your output schema (e.g. \"JournalArticle\", \"NewspaperArticle\", \"Book\", \"Website\", \"GovernmentPublication\", \u2026). Use \"unknown\" when no IEEE type fits or you cannot tell.\n- `suggestedSymbol` \u2014 a short PascalCase-or-snake_case identifier (letters/digits/underscores, starts with a letter or underscore, under 32 chars). Avoid single letters and generic names.\n- the extension fields your output schema requires (title, body, url, axiom \u2014 whichever apply to the claim's type).\n- `mentionToClaim` \u2014 one `{ \"mentionId\": \"...\", \"claimMiniId\": \"...\" }` entry per synthetic mention id you used.\n\nStyle:\n- Third-person, present-tense, active voice.\n- State the proposition itself \u2014 never \"The author claims that ...\". For a citation claim, the title summarizes what the source asserts.\n\nOutput ONLY the schema-shaped object. No prose.";
8
+ export declare const EXTRACT_SYSTEM_PROMPT = "You read a raw argument and emit its canonical claim set in one pass.\n\nFor each distinct proposition the author makes, emit one canonical claim. Two phrasings of the same proposition merge into a single claim.\n\nAlso emit `mentions` \u2014 where in the input each claim is stated. One entry per place a claim is made:\n- `mentionId` \u2014 \"<claim miniId>-m\" for the first mention of a claim, then \"-m2\", \"-m3\", ... for further ones (e.g. \"c1-m\", \"c1-m2\").\n- `text` \u2014 the span of the input that states the claim, COPIED CHARACTER FOR CHARACTER from the input. Never reword, summarize, translate, correct, or join separated passages with an ellipsis, and do not change capitalization or punctuation \u2014 copy the first character exactly as the input has it, upper- or lower-case. Prefer the shortest span that states the claim on its own \u2014 usually one sentence or clause. A span that is not present in the input verbatim is discarded, and the claim loses its link back to the source.\n- `span` \u2014 approximate `{ start, end }` character offsets of that text in the input. A rough estimate is fine; the text is what is trusted.\n- `segmentId` \u2014 the empty string.\n\nEach canonical claim carries:\n- `miniId` \u2014 assign in order: c1, c2, c3, ...\n- `mentionIds` \u2014 the `mentionId`s of every mention that states this claim.\n- `type` \u2014 \"normal\" (a primary proposition), \"citation\" (content is \"the cited source asserts X\"; populate `url` + `title`, and set `citationTypeGuess`), or \"axiomatic\" (invoked as self-evident; populate `axiom`).\n- `citationTypeGuess` (citation claims only) \u2014 your best guess at the source's IEEE reference type, chosen from the allowed values in your output schema (e.g. \"JournalArticle\", \"NewspaperArticle\", \"Book\", \"Website\", \"GovernmentPublication\", \u2026). Use \"unknown\" when no IEEE type fits or you cannot tell.\n- `suggestedSymbol` \u2014 a short PascalCase-or-snake_case identifier (letters/digits/underscores, starts with a letter or underscore, under 32 chars). Avoid single letters and generic names.\n- the extension fields your output schema requires (title, body, url, axiom \u2014 whichever apply to the claim's type).\n- `mentionToClaim` \u2014 one `{ \"mentionId\": \"...\", \"claimMiniId\": \"...\" }` entry per mention id you used.\n\nStyle:\n- Third-person, present-tense, active voice.\n- State the proposition itself \u2014 never \"The author claims that ...\". For a citation claim, the title summarizes what the source asserts.\n\nOutput ONLY the schema-shaped object. No prose.";
8
9
  /**
9
10
  * Build scribe's `extract` LLM stage. Its `outputSchema` is the
10
- * per-extension canonicalization schema, so the cheap model is asked
11
- * for the same extension-shaped claim records (title/body/url/axiom)
12
- * scholar's canonicalizer produces — without which finalize would
13
- * assemble empty claims.
11
+ * per-extension canonicalization schema widened with the mention slot,
12
+ * so the cheap model is asked for the same extension-shaped claim
13
+ * records (title/body/url/axiom) scholar's canonicalizer produces —
14
+ * without which finalize would assemble empty claims — plus the quoted
15
+ * spans those claims came from.
14
16
  */
15
- export declare function createExtractStage(extension: TIngestionExtension, options?: TLlmStageOptionsOverride): TStage<TClaimCanonicalizationOutput>;
17
+ export declare function createExtractStage(extension: TIngestionExtension, options?: TLlmStageOptionsOverride): TStage<TScribeExtractOutput>;
16
18
  /**
17
19
  * Adapter — republish `extract`'s canonical claims under the
18
20
  * canonicalization slot scholar's deterministic stages + finalize read.
19
- * `extract` already emits the canonicalization shape, so this is a
20
- * pass-through (with a defensive empty default). Built per-extension
21
- * because the canonicalization slot's schema carries the extension's
22
- * claim fields.
21
+ *
22
+ * It picks the two keys rather than passing the whole output through:
23
+ * the canonicalization envelope is `additionalProperties: false`, so
24
+ * `extract`'s `mentions` would fail validation here. They reach finalize
25
+ * through the mention adapter below instead.
26
+ *
27
+ * Built per-extension because the canonicalization slot's schema carries
28
+ * the extension's claim fields.
23
29
  */
24
30
  export declare function createExtractCanonicalizationAdapterStage(extension: TIngestionExtension): TStage<TClaimCanonicalizationOutput>;
31
+ /**
32
+ * Adapter — republish `extract`'s mentions under the mention slot
33
+ * finalize resolves into each claim's source anchors.
34
+ *
35
+ * Scribe has no segmentation stage, and needs none: a mention's `span`
36
+ * is only ever a tie-break hint between repeated occurrences, and with
37
+ * no segment to offset from, `buildAnchorByMentionId` falls back to the
38
+ * mention's own reported start. The quoted text is what is located.
39
+ */
40
+ export declare const extractMentionAdapterStage: TStage<TClaimMentionExtractionOutput>;
25
41
  /**
26
42
  * Adapter — derive the classification slot from `extract`'s claim
27
43
  * records: each canonical claim already carries its `type`, so the
@@ -1 +1 @@
1
- {"version":3,"file":"extract-stage.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/extract-stage.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAIH,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACtC,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EACR,mBAAmB,EAEnB,wBAAwB,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,eAAO,MAAM,aAAa,iBAAiB,CAAA;AAE3C,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,EAAE,wBAEpC,CAAA;AAED,eAAO,MAAM,qBAAqB,0oDAiBc,CAAA;AAYhD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,4BAA4B,CAAC,CAWtC;AAED;;;;;;;GAOG;AACH,wBAAgB,yCAAyC,CACrD,SAAS,EAAE,mBAAmB,GAC/B,MAAM,CAAC,4BAA4B,CAAC,CAWtC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,8BAA8B,CAmB/E,CAAA"}
1
+ {"version":3,"file":"extract-stage.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/extract-stage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAKH,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACtC,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EACR,mBAAmB,EAEnB,wBAAwB,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEH,KAAK,oBAAoB,EAC5B,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,aAAa,iBAAiB,CAAA;AAE3C,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,EAAE,wBAEpC,CAAA;AAED,eAAO,MAAM,qBAAqB,2iFAuBc,CAAA;AAYhD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,oBAAoB,CAAC,CAW9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yCAAyC,CACrD,SAAS,EAAE,mBAAmB,GAC/B,MAAM,CAAC,4BAA4B,CAAC,CAatC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,6BAA6B,CAUvE,CAAA;AAEN;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,8BAA8B,CAmB/E,CAAA"}
@@ -1,16 +1,18 @@
1
1
  // scribe stage 1 — `extract`: one cheap LLM call that produces the
2
2
  // canonical claim set (the same per-extension canonicalization shape
3
- // scholar's `claim-canonicalization` stage emits), collapsing scholar's
4
- // segmentation, claim-mention, citation-source, axiom-indicator,
5
- // canonicalization, and type-classification stages.
3
+ // scholar's `claim-canonicalization` stage emits) plus the mentions that
4
+ // locate each claim in the input, collapsing scholar's segmentation,
5
+ // claim-mention, citation-source, axiom-indicator, canonicalization, and
6
+ // type-classification stages.
6
7
  //
7
8
  // Because a stage writes exactly one output slot, `extract` is paired
8
- // with two deterministic adapter stages that republish its parts under
9
- // the canonicalization and classification slots scholar's deterministic
10
- // backend + `finalizeResponseV2` read.
9
+ // with three deterministic adapter stages that republish its parts under
10
+ // the canonicalization, classification, and mention slots scholar's
11
+ // deterministic backend + `finalizeResponseV2` read.
11
12
  import { llmStage } from "../../../../lib/pipelines/stage-helpers.js";
12
13
  import { deterministicStage } from "../../../../lib/pipelines/stage-helpers.js";
13
- import { STAGE_IDS, buildResponseSchema, ClaimTypeClassificationOutputSchema, } from "../../base/stages/index.js";
14
+ import { STAGE_IDS, buildResponseSchema, ClaimMentionExtractionOutputSchema, ClaimTypeClassificationOutputSchema, } from "../../base/stages/index.js";
15
+ import { buildExtractOutputSchema, } from "./schemas.js";
14
16
  export const EXTRACT_MODEL = "gpt-5.4-mini";
15
17
  /** Internal default knobs for scribe's `extract` stage. */
16
18
  export const EXTRACT_STAGE_DEFAULTS = {
@@ -20,14 +22,20 @@ export const EXTRACT_SYSTEM_PROMPT = `You read a raw argument and emit its canon
20
22
 
21
23
  For each distinct proposition the author makes, emit one canonical claim. Two phrasings of the same proposition merge into a single claim.
22
24
 
25
+ Also emit \`mentions\` — where in the input each claim is stated. One entry per place a claim is made:
26
+ - \`mentionId\` — "<claim miniId>-m" for the first mention of a claim, then "-m2", "-m3", ... for further ones (e.g. "c1-m", "c1-m2").
27
+ - \`text\` — the span of the input that states the claim, COPIED CHARACTER FOR CHARACTER from the input. Never reword, summarize, translate, correct, or join separated passages with an ellipsis, and do not change capitalization or punctuation — copy the first character exactly as the input has it, upper- or lower-case. Prefer the shortest span that states the claim on its own — usually one sentence or clause. A span that is not present in the input verbatim is discarded, and the claim loses its link back to the source.
28
+ - \`span\` — approximate \`{ start, end }\` character offsets of that text in the input. A rough estimate is fine; the text is what is trusted.
29
+ - \`segmentId\` — the empty string.
30
+
23
31
  Each canonical claim carries:
24
32
  - \`miniId\` — assign in order: c1, c2, c3, ...
25
- - \`mentionIds\` — leave as a single synthetic id per claim (e.g. ["c1-m"]); scribe does not track sub-claim mentions.
33
+ - \`mentionIds\` — the \`mentionId\`s of every mention that states this claim.
26
34
  - \`type\` — "normal" (a primary proposition), "citation" (content is "the cited source asserts X"; populate \`url\` + \`title\`, and set \`citationTypeGuess\`), or "axiomatic" (invoked as self-evident; populate \`axiom\`).
27
35
  - \`citationTypeGuess\` (citation claims only) — your best guess at the source's IEEE reference type, chosen from the allowed values in your output schema (e.g. "JournalArticle", "NewspaperArticle", "Book", "Website", "GovernmentPublication", …). Use "unknown" when no IEEE type fits or you cannot tell.
28
36
  - \`suggestedSymbol\` — a short PascalCase-or-snake_case identifier (letters/digits/underscores, starts with a letter or underscore, under 32 chars). Avoid single letters and generic names.
29
37
  - the extension fields your output schema requires (title, body, url, axiom — whichever apply to the claim's type).
30
- - \`mentionToClaim\` — one \`{ "mentionId": "...", "claimMiniId": "..." }\` entry per synthetic mention id you used.
38
+ - \`mentionToClaim\` — one \`{ "mentionId": "...", "claimMiniId": "..." }\` entry per mention id you used.
31
39
 
32
40
  Style:
33
41
  - Third-person, present-tense, active voice.
@@ -37,21 +45,22 @@ Output ONLY the schema-shaped object. No prose.`;
37
45
  function buildExtractPrompt(ctx) {
38
46
  const input = ctx.input;
39
47
  const system = `<!-- stage-id: ${STAGE_IDS.extract} -->\n${EXTRACT_SYSTEM_PROMPT}`;
40
- const user = `Input text:\n\n${input.text}\n\nProduce the canonicalClaims + mentionToClaim object.`;
48
+ const user = `Input text:\n\n${input.text}\n\nProduce the canonicalClaims + mentions + mentionToClaim object.`;
41
49
  return { system, user };
42
50
  }
43
51
  /**
44
52
  * Build scribe's `extract` LLM stage. Its `outputSchema` is the
45
- * per-extension canonicalization schema, so the cheap model is asked
46
- * for the same extension-shaped claim records (title/body/url/axiom)
47
- * scholar's canonicalizer produces — without which finalize would
48
- * assemble empty claims.
53
+ * per-extension canonicalization schema widened with the mention slot,
54
+ * so the cheap model is asked for the same extension-shaped claim
55
+ * records (title/body/url/axiom) scholar's canonicalizer produces —
56
+ * without which finalize would assemble empty claims — plus the quoted
57
+ * spans those claims came from.
49
58
  */
50
59
  export function createExtractStage(extension, options) {
51
60
  return llmStage({
52
61
  id: STAGE_IDS.extract,
53
62
  dependsOn: [],
54
- outputSchema: buildResponseSchema(extension),
63
+ outputSchema: buildExtractOutputSchema(extension),
55
64
  model: options?.model ?? EXTRACT_MODEL,
56
65
  maxOutputTokens: options?.maxOutputTokens,
57
66
  reasoningEffort: options?.reasoningEffort,
@@ -62,22 +71,47 @@ export function createExtractStage(extension, options) {
62
71
  /**
63
72
  * Adapter — republish `extract`'s canonical claims under the
64
73
  * canonicalization slot scholar's deterministic stages + finalize read.
65
- * `extract` already emits the canonicalization shape, so this is a
66
- * pass-through (with a defensive empty default). Built per-extension
67
- * because the canonicalization slot's schema carries the extension's
68
- * claim fields.
74
+ *
75
+ * It picks the two keys rather than passing the whole output through:
76
+ * the canonicalization envelope is `additionalProperties: false`, so
77
+ * `extract`'s `mentions` would fail validation here. They reach finalize
78
+ * through the mention adapter below instead.
79
+ *
80
+ * Built per-extension because the canonicalization slot's schema carries
81
+ * the extension's claim fields.
69
82
  */
70
83
  export function createExtractCanonicalizationAdapterStage(extension) {
71
84
  return deterministicStage({
72
85
  id: STAGE_IDS.claimCanonicalization,
73
86
  dependsOn: [STAGE_IDS.extract],
74
87
  outputSchema: buildResponseSchema(extension),
75
- fn: (ctx) => ctx.get(STAGE_IDS.extract) ?? {
76
- canonicalClaims: [],
77
- mentionToClaim: [],
88
+ fn: (ctx) => {
89
+ const extract = ctx.get(STAGE_IDS.extract);
90
+ return {
91
+ canonicalClaims: extract?.canonicalClaims ?? [],
92
+ mentionToClaim: extract?.mentionToClaim ?? [],
93
+ };
78
94
  },
79
95
  });
80
96
  }
97
+ /**
98
+ * Adapter — republish `extract`'s mentions under the mention slot
99
+ * finalize resolves into each claim's source anchors.
100
+ *
101
+ * Scribe has no segmentation stage, and needs none: a mention's `span`
102
+ * is only ever a tie-break hint between repeated occurrences, and with
103
+ * no segment to offset from, `buildAnchorByMentionId` falls back to the
104
+ * mention's own reported start. The quoted text is what is located.
105
+ */
106
+ export const extractMentionAdapterStage = deterministicStage({
107
+ id: STAGE_IDS.claimMentionExtraction,
108
+ dependsOn: [STAGE_IDS.extract],
109
+ outputSchema: ClaimMentionExtractionOutputSchema,
110
+ fn: (ctx) => ({
111
+ mentions: ctx.get(STAGE_IDS.extract)?.mentions ??
112
+ [],
113
+ }),
114
+ });
81
115
  /**
82
116
  * Adapter — derive the classification slot from `extract`'s claim
83
117
  * records: each canonical claim already carries its `type`, so the
@@ -1 +1 @@
1
- {"version":3,"file":"extract-stage.js","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/extract-stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-stage.js","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/extract-stage.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,42 @@
1
- import Type, { type Static } from "typebox";
1
+ import Type, { type Static, type TSchema } from "typebox";
2
+ import type { TClaimCanonicalizationOutput, TClaimMentionExtractionOutput } from "../../base/stages/index.js";
3
+ import type { TIngestionExtension } from "../../base/types.js";
4
+ /**
5
+ * What `extract` returns: the canonicalization slot's payload and the
6
+ * mention slot's, in one object. Structural rather than a `Static<>`,
7
+ * because the schema is built per-extension.
8
+ */
9
+ export type TScribeExtractOutput = TClaimCanonicalizationOutput & TClaimMentionExtractionOutput;
10
+ /**
11
+ * `extract`'s output: the per-extension canonicalization shape, plus the
12
+ * mentions whose quoted text becomes each claim's source anchor.
13
+ *
14
+ * The mentions ride along on the one stage that is given the input text,
15
+ * rather than coming from a stage of their own — scribe's whole point is
16
+ * that there are two LLM calls, and locating a claim in the text is not
17
+ * worth a third. Their item shape is scholar's, so the same finalize
18
+ * resolution reads them without a translation layer.
19
+ *
20
+ * The canonicalization envelope is `additionalProperties: false`, so the
21
+ * widened shape is a distinct schema rather than an extra key on the
22
+ * shared one — and the adapter that republishes the canonicalization slot
23
+ * has to narrow back to it. See `createExtractCanonicalizationAdapterStage`.
24
+ */
25
+ export declare function buildExtractOutputSchema(extension: TIngestionExtension): TSchema;
2
26
  export declare const ScribeStructureOutputSchema: Type.TObject<{
3
27
  relations: Type.TArray<Type.TObject<{
4
28
  relationId: Type.TString;
5
29
  type: Type.TLiteral<"inference">;
6
30
  antecedents: Type.TArray<Type.TString>;
7
31
  consequent: Type.TString;
32
+ title: Type.TString;
8
33
  evidence: Type.TObject<{
9
34
  segmentIds: Type.TArray<Type.TString>;
10
35
  quote: Type.TString;
11
36
  }>;
12
37
  }>>;
13
38
  conclusionCandidates: Type.TArray<Type.TString>;
39
+ conclusionTitle: Type.TString;
14
40
  rationale: Type.TString;
15
41
  }>;
16
42
  export type TScribeStructureOutput = Static<typeof ScribeStructureOutputSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/schemas.ts"],"names":[],"mappings":"AAeA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAO3C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;EAOvC,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/schemas.ts"],"names":[],"mappings":"AAeA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAAK,EACR,4BAA4B,EAC5B,6BAA6B,EAChC,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,GAC3D,6BAA6B,CAAA;AAEjC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,mBAAmB,GAC/B,OAAO,CAWT;AASD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;EAQvC,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA"}
@@ -10,17 +10,43 @@
10
10
  // relation-extraction + conclusion-selection slots.
11
11
  //
12
12
  // `extract`'s output schema is the per-extension canonicalization
13
- // schema itself (`buildResponseSchema(extension)`); only `structure`
14
- // needs a bespoke schema, defined here.
13
+ // schema widened with the mention slot (`buildExtractOutputSchema`);
14
+ // `structure` needs a bespoke schema. Both are defined here.
15
15
  import Type, {} from "typebox";
16
- import { RelationExtractionOutputSchema } from "../../base/stages/index.js";
16
+ import { ClaimMentionExtractionOutputSchema, RelationExtractionOutputSchema, buildResponseSchema, } from "../../base/stages/index.js";
17
+ /**
18
+ * `extract`'s output: the per-extension canonicalization shape, plus the
19
+ * mentions whose quoted text becomes each claim's source anchor.
20
+ *
21
+ * The mentions ride along on the one stage that is given the input text,
22
+ * rather than coming from a stage of their own — scribe's whole point is
23
+ * that there are two LLM calls, and locating a claim in the text is not
24
+ * worth a third. Their item shape is scholar's, so the same finalize
25
+ * resolution reads them without a translation layer.
26
+ *
27
+ * The canonicalization envelope is `additionalProperties: false`, so the
28
+ * widened shape is a distinct schema rather than an extra key on the
29
+ * shared one — and the adapter that republishes the canonicalization slot
30
+ * has to narrow back to it. See `createExtractCanonicalizationAdapterStage`.
31
+ */
32
+ export function buildExtractOutputSchema(extension) {
33
+ const canonicalization = buildResponseSchema(extension);
34
+ return Type.Object({
35
+ ...canonicalization.properties,
36
+ mentions: ClaimMentionExtractionOutputSchema.properties.mentions,
37
+ }, { additionalProperties: false });
38
+ }
17
39
  // `structure` emits the relation graph (same per-relation shape as
18
- // scholar's `relation-extraction`) plus the conclusion candidates +
19
- // rationale (same fields scholar's conclusion-selection LLM emits,
20
- // before the deterministic resolution the adapter reproduces).
40
+ // scholar's `relation-extraction`, each relation carrying its own
41
+ // `title`) plus the conclusion candidates + rationale (same fields
42
+ // scholar's conclusion-selection LLM emits, before the deterministic
43
+ // resolution the adapter reproduces). `conclusionTitle` is the
44
+ // conclusion counterpart of a relation's `title`; it is named
45
+ // distinctly because both live on one object here.
21
46
  export const ScribeStructureOutputSchema = Type.Object({
22
47
  relations: RelationExtractionOutputSchema.properties.relations,
23
48
  conclusionCandidates: Type.Array(Type.String()),
49
+ conclusionTitle: Type.String(),
24
50
  rationale: Type.String(),
25
51
  }, { additionalProperties: false });
26
52
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/schemas.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,uEAAuE;AACvE,mEAAmE;AACnE,kEAAkE;AAClE,mEAAmE;AACnE,qCAAqC;AACrC,qEAAqE;AACrE,+DAA+D;AAC/D,wDAAwD;AACxD,EAAE;AACF,kEAAkE;AAClE,qEAAqE;AACrE,wCAAwC;AAExC,OAAO,IAAI,EAAE,EAAe,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAA;AAE3E,mEAAmE;AACnE,oEAAoE;AACpE,mEAAmE;AACnE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAClD;IACI,SAAS,EAAE,8BAA8B,CAAC,UAAU,CAAC,SAAS;IAC9D,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;CAC3B,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAA"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/schemas.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,uEAAuE;AACvE,mEAAmE;AACnE,kEAAkE;AAClE,mEAAmE;AACnE,qCAAqC;AACrC,qEAAqE;AACrE,+DAA+D;AAC/D,wDAAwD;AACxD,EAAE;AACF,kEAAkE;AAClE,qEAAqE;AACrE,6DAA6D;AAE7D,OAAO,IAAI,EAAE,EAA6B,MAAM,SAAS,CAAA;AACzD,OAAO,EACH,kCAAkC,EAClC,8BAA8B,EAC9B,mBAAmB,GACtB,MAAM,4BAA4B,CAAA;AAenC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CACpC,SAA8B;IAE9B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAErD,CAAA;IACD,OAAO,IAAI,CAAC,MAAM,CACd;QACI,GAAG,gBAAgB,CAAC,UAAU;QAC9B,QAAQ,EAAE,kCAAkC,CAAC,UAAU,CAAC,QAAQ;KACnE,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAA;AACL,CAAC;AAED,mEAAmE;AACnE,kEAAkE;AAClE,mEAAmE;AACnE,qEAAqE;AACrE,+DAA+D;AAC/D,8DAA8D;AAC9D,mDAAmD;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAClD;IACI,SAAS,EAAE,8BAA8B,CAAC,UAAU,CAAC,SAAS;IAC9D,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/C,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE;IAC9B,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;CAC3B,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"scribe.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/scribe.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,oCAAoC,CAAA;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAU/E,OAAO,KAAK,EACR,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACvB,MAAM,qBAAqB,CAAA;AAkB5B;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACvC,GAAG,CAAC,EAAE,oBAAoB,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,4BAA4B,GACvC,SAAS,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAyDrD"}
1
+ {"version":3,"file":"scribe.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/scribe.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,oCAAoC,CAAA;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAW/E,OAAO,KAAK,EACR,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACvB,MAAM,qBAAqB,CAAA;AAmB5B;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACvC,GAAG,CAAC,EAAE,oBAAoB,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,4BAA4B,GACvC,SAAS,CAAC,eAAe,EAAE,uBAAuB,CAAC,CA2ErD"}
@@ -11,8 +11,9 @@
11
11
  // DAG:
12
12
  //
13
13
  // extract ──┬─ (adapter) claim-canonicalization ─┬─ claim-reference-validation
14
- // └─ (adapter) claim-type-classification ┤
15
- // └─ variable-assignment
14
+ // ├─ (adapter) claim-type-classification ┤
15
+ // │ └─ variable-assignment
16
+ // └─ (adapter) claim-mention-extraction
16
17
  // structure ─┬─ (adapter) relation-extraction
17
18
  // └─ (adapter) conclusion-selection
18
19
  // formula-compilation
@@ -26,7 +27,7 @@ import { STAGE_IDS, claimReferenceValidationStage, variableAssignmentStage, form
26
27
  import { finalizeResponseV2 } from "../../base/finalize-response-v2.js";
27
28
  import { resolveLlmStageOptions } from "../../base/resolve-llm-stage-options.js";
28
29
  import { INGESTION_INPUT_SCHEMA } from "../scholar/scholar.js";
29
- import { createExtractStage, createExtractCanonicalizationAdapterStage, extractClassificationAdapterStage, EXTRACT_STAGE_DEFAULTS, } from "./extract-stage.js";
30
+ import { createExtractStage, createExtractCanonicalizationAdapterStage, extractClassificationAdapterStage, extractMentionAdapterStage, EXTRACT_STAGE_DEFAULTS, } from "./extract-stage.js";
30
31
  import { createStructureStage, structureRelationAdapterStage, structureConclusionAdapterStage, STRUCTURE_STAGE_DEFAULTS, } from "./structure-stage.js";
31
32
  const PIPELINE_ID = "argument-ingestion-scribe";
32
33
  const PIPELINE_VERSION = "1.0.0";
@@ -46,6 +47,7 @@ export function createScribePipeline(extension, options) {
46
47
  extractStage,
47
48
  extractCanonicalizationAdapterStage,
48
49
  extractClassificationAdapterStage,
50
+ extractMentionAdapterStage,
49
51
  claimReferenceValidationStage,
50
52
  variableAssignmentStage,
51
53
  structureStage,
@@ -73,13 +75,27 @@ export function createScribePipeline(extension, options) {
73
75
  optional(STAGE_IDS.conclusionSelection),
74
76
  optional(STAGE_IDS.formulaValidation),
75
77
  optional(STAGE_IDS.claimReferenceValidation),
78
+ // Read only for the source anchors finalize attaches to
79
+ // claims; a missing mention output costs the anchors,
80
+ // never the argument.
81
+ optional(STAGE_IDS.claimMentionExtraction),
76
82
  ],
77
- // No segmentation or mention output is passed: this pipeline
78
- // has neither stage, and its `extract` prompt asks for
79
- // synthetic mention ids. Claims therefore carry no source
80
- // anchors; relation-derived premises still do, since their
81
- // evidence quote comes from `structure`.
82
- run: (ctx) => finalizeResponseV2({ ctx, extension }),
83
+ // No segmentation is passed — this pipeline has no such stage,
84
+ // and needs none: a mention's span is only a tie-break hint
85
+ // between repeated occurrences, and finalize locates the quoted
86
+ // text itself.
87
+ //
88
+ // Premises carry no source anchors here. Their quote would have
89
+ // to come from `structure`, which is built from the canonical
90
+ // claim set and never sees the input text, so anything it
91
+ // returned would be a paraphrase that could only fail to
92
+ // resolve. `structure` is asked for no quote at all rather than
93
+ // for one it cannot have.
94
+ run: (ctx) => finalizeResponseV2({
95
+ ctx,
96
+ extension,
97
+ mentions: ctx.get(STAGE_IDS.claimMentionExtraction),
98
+ }),
83
99
  },
84
100
  };
85
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scribe.js","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/scribe.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,+DAA+D;AAC/D,sEAAsE;AACtE,8DAA8D;AAC9D,sEAAsE;AACtE,iEAAiE;AACjE,oEAAoE;AACpE,qEAAqE;AACrE,EAAE;AACF,OAAO;AACP,EAAE;AACF,iFAAiF;AACjF,uDAAuD;AACvD,4EAA4E;AAC5E,gDAAgD;AAChD,iDAAiD;AACjD,+DAA+D;AAC/D,8DAA8D;AAC9D,oDAAoD;AACpD,EAAE;AACF,sEAAsE;AACtE,4CAA4C;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAG7D,OAAO,EACH,SAAS,EACT,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAMhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EACH,kBAAkB,EAClB,yCAAyC,EACzC,iCAAiC,EACjC,sBAAsB,GACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,oBAAoB,EACpB,6BAA6B,EAC7B,+BAA+B,EAC/B,wBAAwB,GAC3B,MAAM,sBAAsB,CAAA;AAE7B,MAAM,WAAW,GAAG,2BAA2B,CAAA;AAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAWhC;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAChC,SAA8B,EAC9B,OAAsC;IAEtC,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,CAAA;IACxB,MAAM,YAAY,GAAG,kBAAkB,CACnC,SAAS,EACT,sBAAsB,CAAC,SAAS,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,CAAC,CACzE,CAAA;IACD,MAAM,mCAAmC,GACrC,yCAAyC,CAAC,SAAS,CAAC,CAAA;IACxD,MAAM,cAAc,GAAG,oBAAoB,CACvC,sBAAsB,CAClB,SAAS,CAAC,eAAe,EACzB,wBAAwB,EACxB,GAAG,CACN,CACJ,CAAA;IAED,MAAM,MAAM,GAA+B;QACvC,YAAY;QACZ,mCAAmC;QACnC,iCAAiC;QACjC,6BAA6B;QAC7B,uBAAuB;QACvB,cAAc;QACd,6BAA6B;QAC7B,+BAA+B;QAC/B,uBAAuB;QACvB,sBAAsB;KACK,CAAA;IAE/B,OAAO;QACH,EAAE,EAAE,WAAW;QACf,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,sBAAsB;QACnC,sDAAsD;QACtD,mDAAmD;QACnD,wCAAwC;QACxC,YAAY,EAAE,SAAS,CAAC,cAAc;QACtC,MAAM;QACN,QAAQ,EAAE;YACN,SAAS,EAAE;gBACP,SAAS,CAAC,qBAAqB;gBAC/B,SAAS,CAAC,kBAAkB;gBAC5B,SAAS,CAAC,kBAAkB;gBAC5B,QAAQ,CAAC,SAAS,CAAC,uBAAuB,CAAC;gBAC3C,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBACtC,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC;gBACvC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACrC,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC;aAC/C;YACD,6DAA6D;YAC7D,uDAAuD;YACvD,0DAA0D;YAC1D,2DAA2D;YAC3D,yCAAyC;YACzC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;SACvD;KACJ,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"scribe.js","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/scribe.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { type TScribeStructureOutput } from "./schemas.js";
5
5
  export declare const STRUCTURE_MODEL = "gpt-5.4-mini";
6
6
  /** Internal default knobs for scribe's `structure` stage. */
7
7
  export declare const STRUCTURE_STAGE_DEFAULTS: TLlmStageOptionsOverride;
8
- export declare const STRUCTURE_SYSTEM_PROMPT = "You read a canonical claim set \u2014 each claim's id, type, and content fields (title/body) \u2014 and emit the argument's structure.\n\nEmit:\n- `relations` \u2014 the inference edges between claims. Each relation: a stable `relationId` (r1, r2, ...), a `type` of \"inference\", an `antecedents` array of the claim miniIds whose conjunction implies the consequent (one or more; citation- or axiomatic-typed claims may appear here, but never as the consequent), a single `consequent` claim miniId, and an `evidence` object ({ segmentIds: [], quote: \"\" } is acceptable when you have no span to cite).\n- `conclusionCandidates` \u2014 the claim miniIds that could be the argument's conclusion, ordered by DECREASING confidence (best first). The conclusion is the claim other claims support but that supports nothing further. Never list a citation- or axiomatic-typed claim. Return an empty array only when there is no argument structure.\n- `rationale` \u2014 one sentence explaining your best pick (or why none qualifies).\n\nOutput ONLY the schema-shaped object. No prose.";
8
+ export declare const STRUCTURE_SYSTEM_PROMPT = "You read a canonical claim set \u2014 each claim's id, type, and content fields (title/body) \u2014 and emit the argument's structure.\n\nEmit:\n- `relations` \u2014 the inference edges between claims. Each relation: a stable `relationId` (r1, r2, ...), a `type` of \"inference\", an `antecedents` array of the claim miniIds whose conjunction implies the consequent (one or more; citation- or axiomatic-typed claims may appear here, but never as the consequent), a single `consequent` claim miniId, a `title`, and an `evidence` object, which is always exactly { segmentIds: [], quote: \"\" } \u2014 you are shown the claims, not the text they came from, so you have nothing to quote.\n- each relation's `title` \u2014 a short noun phrase naming what that step DOES in the argument \u2014 the inferential move, not the proposition. Do not restate the consequent: that claim's own title is already shown directly beneath this one. Aim for under 60 characters. Examples: \"Limits of the crowd's power\", \"Residence as tacit consent\", \"Principle over survival\".\n- `conclusionCandidates` \u2014 the claim miniIds that could be the argument's conclusion, ordered by DECREASING confidence (best first). The conclusion is the claim other claims support but that supports nothing further. Never list a citation- or axiomatic-typed claim. Return an empty array only when there is no argument structure.\n- `conclusionTitle` \u2014 for your FIRST candidate only: a short noun phrase naming what the concluding step DOES in the argument \u2014 the inferential move, not the proposition. Do not restate the consequent: that claim's own title is already shown directly beneath this one. Aim for under 60 characters. Return an empty string when `conclusionCandidates` is empty.\n- `rationale` \u2014 one sentence explaining your best pick (or why none qualifies).\n\nOutput ONLY the schema-shaped object. No prose.";
9
9
  /**
10
10
  * Build scribe's `structure` LLM stage. Depends on the canonicalization
11
11
  * + classification slots (populated by `extract`'s adapters) so the
@@ -1 +1 @@
1
- {"version":3,"file":"structure-stage.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/structure-stage.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAQH,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EACjC,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,EAAE,wBAEtC,CAAA;AAED,eAAO,MAAM,uBAAuB,wjCAOY,CAAA;AAwChD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,sBAAsB,CAAC,CAchC;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,yBAAyB,CAUtE,CAAA;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,0BAA0B,CAwDzE,CAAA"}
1
+ {"version":3,"file":"structure-stage.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/pipelines/ingestion/scribe/structure-stage.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAQH,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EACjC,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,EAAE,wBAEtC,CAAA;AAED,eAAO,MAAM,uBAAuB,q3DASY,CAAA;AAwChD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,sBAAsB,CAAC,CAchC;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,yBAAyB,CAUtE,CAAA;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,0BAA0B,CA4DzE,CAAA"}