☰ Contents
AISA v2.0 / Technical documentation / Stage S4 — Offer

Stage S4 — Offer

F verified factP decided planC open challenge

P Stage correspondence. S4 Offer. These are the same stage identities used by the product overview and case walkthrough. A checkpoint or nested task conversation stays inside its owning stage.

Purpose

The product exists and prices; now decide how it is sold: this stage creates the offer cuts over the possible pricing factors, with the covers each offer carries — the packages an operator (or a partner channel) actually picks from, which covers are mandatory/recommended/optional in each, the preset limits, and the rules between covers. Without it the platform answers "no offers could be found" — a correctly priced product that cannot produce a quote F: [LB offers and cover rules].

Inputs → Outputs

In: the S3 catalogue (covers, definitions, factors) + the specification's packaging wishes (segments, variants, "standard/extended/premium" cuts). Out: offers with cover extents (M/R/O) and preset values; dependency/conflict/limit-restriction rules; the offer→template pricing links; the stage's script set.

What runs this stage

Agents configuration.offer.builder
Isolated sub-agents configuration.offer.validator
Memory domain it owns configuration/offer — packaging shapes, rule kinds, available versus selected (Agents Memory)
Skills it runs ipal configure (offers, packages, rules — the write path) · offer test (the proof) (Agents Memory and Skills)
Its branch of the graph Configuration Module § 0 — the module's agent tree, its memory branch and its skills · the component list is Components — Configuration

P The selected domain builder and validator use Configuration root for coordination and unresolved decisions. Joint proof uses configuration.integration.validator; release uses the deployer and shared auditor/executor path. Helpers initialize only when their bounded work is required.

The protocol here

Facts to hold F

Real material — what live cases asked of this stage

Eight configuration cases were walked against this design (Configuration Module § 8 carries each case in full). What each one demanded here:

CS-1 · 9951 «Каско Максимум» replayed through v2 — The PC agent built 9951 on Ablera dev from a 13-sheet template (Продукт · Тарифни групи · Клаузи · Покрития · Зависимости · Оферти · Правила за премия · ЗС/лимити · Подписвачески въпросник 91 rows · Зависимости между въпроси 65 rows · Такси · Ref) and a 10-page tariff PDF (raздели I–VIII).

Five offers on segment ALL against the reused LB_OBJECT_NA for CAR; extents from Оферти (MINI: CM1 only; FULL: CM4 + assist Д + mech + seats + replace); dependency rows one per admissible pair (CM_ACCIDENT requires CM_FIRE_NAT …); the clause mutual exclusion is a conflict — and the PC extract already notes LBRR_COVER_CONFLICTS has no group column, so „exactly one clause" is N flat rows. Offer skill: available ≠ selected. [ok] with the schema caveat (below).

CS-4 · HelpDesk 00098747 — 2214/2215 promo „65 години Булстрад": pay 60 months, get 65 — Home products 2214/2215: for the campaign, term 65 months, premium for 60; everything else unchanged.

No new offer; but if Bulstrad had wanted „Промо 65" as a selectable package it would be LB_OFFERS with LB_OFFER_PRICING_RULE naming a promo template. [ok].

CS-5 · Product 8000 „Здравна грижа" — packages × levels × options, cover modes, a Camunda process, CG-9 — Group health, EUR, QA only (10.239.82.106), 10 UI covers + 52 level-variant child rows (IP_O/IP_L/IP_E), consumption modes PRV/REIM per cover (PREVENTION and EXTRA_CARE PRV-only), tariff per member × package × level × option with ordered corrections (sector, group size, age band, −5 % commercial), Профилактика individually rated (no rate), Критични заболявания only above 150 persons, claims-side ABACUS templates SRVPRICE# and CLMIND#, BPMN in Core.Plugin.Bulstrad, HealthBasicProductId=8000 hardcoded.

Packages = offers with M/R/O; levels as preset LIMIT values per offer; PRV/REIM as … nothing in LB_* — it is MEMBER_CARDS.COV_n_PRV/REIM runtime data. [gap P] again.

Plan synthesis and continuity

P configuration.offer.builder owns the whole selected stage: clarify the requirement, synthesize the domain plan, return it to the parent, coordinate permitted work and reconcile the independent result. Clarification is a segment of the common communication method, not another mandatory stage or agent.

Concrete planning work. Resolve mandatory/recommended/optional cover extents, dependencies/conflicts and relative limits. Distinguish object segmentation from seller roles and test the intended offer-template selector against fallback.

Context passed to verification. The original objective, approved specification/source citations, current baselines, expected assertions, dependencies and known uncertainties go to configuration.offer.validator. The author transcript/private reasoning is excluded. Missing necessary facts are requested from the parent, not treated as evidence of failure or filled by guesswork. Domain memory is shared by reference; the builder owns publication and the validator proposes corrections.

P Parent PlanConfirmation orders preparation. H2 and applicable effect gates govern the proposed action; the independent domain verdict supports H3. These are phases and checkpoints within the existing stage, not new workflow nodes. A changed source/plan invalidates dependent proof.

Challenges