Class ExtractPricingDoer
java.lang.Object
ai.redouble.nucleo.harness.AbstractJob<PricingReport>
ai.redouble.nucleo.tools.AbstractTool<PricingRequest, PricingReport>
ai.redouble.nucleo.tools.AbstractOrchestrator<PricingRequest, PricingReport>
ai.redouble.nucleo.tools.AbstractDoer<PricingRequest, PricingReport>
ai.redouble.demo.pricing.ExtractPricingDoer
- All Implemented Interfaces:
GuardedExecution, ScopeAuthority, Identifiable, Job<PricingReport>, Doer<PricingRequest, PricingReport>, Orchestrator<PricingRequest, PricingReport>, Tool<PricingRequest, PricingReport>
The second demo, over the first one's result: every document the extractor indexed goes
to a small model that lists the prices it states, all documents in parallel under the
same admission and the same caps; the distinct product names then go once to a model a
grade up, which says which names are one product; and code does the rest, ranking every
price in force by date into current and superseded, and setting proposals, former prices
and costs aside as what they are. The report carries the products with their history,
one row per document, and what the run spent.
A doer, because it coordinates and holds nothing: the documents are the index's, the children are their own jobs, and a child refused at the cap is a row that says so while the run finishes on what it has.
- Since:
- 0.1 (2026-09-15)
- Author:
- Andrey Santrosyan
-
Field Summary
Fields inherited from class AbstractOrchestrator
META_ITERATIONFields inherited from class AbstractTool
inputFields inherited from class AbstractJob
timeout, upstreamRetriesFields inherited from interface Job
DEFAULT_UPSTREAM_RETRIESFields inherited from interface Tool
OBS_INPUT, OBS_OUTPUT -
Constructor Summary
ConstructorsConstructorDescriptionExtractPricingDoer(Identifiable parent, CostLedger ledger, FileIndex index) The run on the LLM tiers:ExtractPricesToolper document,CanonicalizeProductsToolonce.ExtractPricingDoer(Identifiable parent, CostLedger ledger, FileIndex index, Function<Identifiable, ? extends Tool<DocumentText, PriceMentions>> extractor, Function<Identifiable, ? extends Tool<ProductNames, ProductGroups>> grouper) The run on the tiers given: the same documents in, the same mentions and groups out, the same reconciliation and report, whichever model kind each tool puts its judgment to (DecideProductGroupsToolputs the grouping to a decision model). -
Method Summary
Modifier and TypeMethodDescriptionexecute(JobContext<PricingReport> context) Main execution - spawn jobs, wait on handles, return when done.Methods inherited from class AbstractDoer
nextStep, submitInCurrentStep, submitInCurrentStep, submitInCurrentStep, submitInStepMethods inherited from class AbstractOrchestrator
execute, getJobType, getRequirements, getScopeGuard, getTimeout, sealScopeGuard, setScopeGuard, setTimeout, submitInIteration, submitInIteration, submitInIterationMethods inherited from class AbstractTool
getInput, postExecute, preExecute, setInputMethods inherited from class AbstractJob
getId, getName, getParentJobId, getPriority, getUpstreamRetries, getUserId, getWorkflowId, randomIdSuffix, setUpstreamRetries, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface GuardedExecution
declareAdmissionGuardrails, declareAuthGuardrails, declareContentGuardrailsMethods inherited from interface Identifiable
getParentJobId, getUserId, getWorkflowIdMethods inherited from interface Job
getDisplayName, getId, getJobId, getJobType, getName, getPriority, getRequirements, getTimeout, getUpstreamRetries, postExecute, preExecuteMethods inherited from interface ScopeAuthority
getScopeGuard, sealScopeGuard, setScopeGuardMethods inherited from interface Tool
execute, getInput, guardedInputTarget, setInput
-
Constructor Details
-
ExtractPricingDoer
The run on the LLM tiers:ExtractPricesToolper document,CanonicalizeProductsToolonce. -
ExtractPricingDoer
public ExtractPricingDoer(Identifiable parent, CostLedger ledger, FileIndex index, Function<Identifiable, ? extends Tool<DocumentText, PriceMentions>> extractor, Function<Identifiable, ? extends Tool<ProductNames, ProductGroups>> grouper) The run on the tiers given: the same documents in, the same mentions and groups out, the same reconciliation and report, whichever model kind each tool puts its judgment to (DecideProductGroupsToolputs the grouping to a decision model).
-
-
Method Details
-
execute
Description copied from class:AbstractOrchestratorMain execution - spawn jobs, wait on handles, return when done.Write natural Java code. Spawn children through the iteration-stamping helpers (
AbstractOrchestrator.submitInIteration(long, Job), or a doer's step helpers), callhandle.get()to wait. Branch, loop, whatever. Return when done.- Specified by:
executein classAbstractOrchestrator<PricingRequest, PricingReport>- Parameters:
context- the job context for progress reporting and cancellation- Returns:
- the result of the coordinator's work
- Throws:
LLMReadableCheckedException- if coordination fails
-