☰ Contents
AISA v2.0 / Technical documentation / Configuration Module

Configuration Module

F verified factP decided planC open challenge

P Stage correspondence. joint Joint proof; release Release and verify. 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.

From stray documents to a deployed product, in two phases. The input is a business idea with unclear requirements: some tariff files, a template someone half-filled, emails with contradicting wishes. The module turns that into a product an operator can quote, sell and issue — asking early when the material is short, showing results on a working environment, and deploying only what a person approves, only as far as they choose. Every phase ends the same way: its own tests pass, and it signs out a document the next phase reads instead of its transcript.

P The flow at every presentation level. Normalization (S1) agrees the specification or delta and its baseline. Abacus (S2) is phase 1: rating, working-environment tests and tariff sign-out. Phase 2 branches into IPAL (S3) → Offer (S4) and Serdica (S5), which can work in parallel when their prerequisites are ready. Joint proof joins the selected sign-outs and the customer accepts the working preview. Release and verify applies the chosen set under H4 and the applicable effect gates, including H5 for customer-facing targets, then proves delivery. A delta selects only the required stages; an omitted stage's input comes from a verified baseline. The result returns to the parent request. The walkthrough expands this same selected work and its gates.

P Which environment is working and which are targets is knowledge per product line (D123): the existing policy-administration products work locally, then bulstrad-staging (TEST), then PROD, porting to master → bulstrad-qa afterwards; the health line (product 8000) works on QA, ports to master and targets the planned bulstrad-prod-2. QA is the working environment only where the product line says so.

Stages: Normalization · Abacus · IPAL · Offer · Serdica.

P Route before stages. A lasting product, tariff or rule change uses Configuration. CF-01 is a temporary relax/action/restore request and CF-22 is BSO batch provisioning: both use Support’s Data & Manipulation stages. Their CF prefix places them in the request census; it does not select the runtime module. The Configuration flow below describes the requests actually assigned to Configuration.

Agents in this module

P Open an agent below for its function, input/output brief, task context, methods and restrictions. These descriptions are generated from the same catalogue as the module agent subpage. The memory domains listed later are knowledge stores, not additional agents.

Task contract. Start only when the selected work and prerequisites are ready. Pin the profile, request/plan and source revisions; provide the original objective, relevant evidence, decisions, uncertainties and dependencies. The agent proposes a plan to its immediate parent, waits for that confirmation before dependent work, and returns a result or a precise question. Parent confirmation does not replace an effect gate. Runtime and context contract.

Configuration root · configuration.root

Choose only needed stages and template work items, coordinate parallel catalogue/offer and wiring branches, and return an accepted product result to Support root.

Agent contract Detail
Input Accepted handover or scoped request, current product/delta source set and destination entitlement
Output Stage/dependency plan, scoped child confirmations, decision packets, joint/release obligations and result report
Task instructions Keep origin, intent, route, parent-confirmed plans, gates, accepted handovers, waits and obligations coherent.
Ask the owning profile for a bounded interpretation when knowledge is insufficient; return evidence to the asking case.
Memory configuration
platform/experience
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Only Support controlling root owns original-case closure. Unknown code behaviour can be a Source consult; changing it needs accepted Hd.
Runtime access case.read / papers / task state
experience.query (strategy-selected)
runtime.validate-contract
May consult support/experience — Has a product of this shape failed before, and how?
Eval set configuration.joint

Methods. common.skill.experience.

Selected method segments. product-change strategy; current case/tenant and version filters

Full technical definition, sources and executable bindings.

Specification normalizer · configuration.normalizer

Reconcile source meaning into a cited product or delta; coordinate independent tariff reading and measured estate facts without resolving silent business choices.

Agent contract Detail
Input Raw source inventory, requested delta and current baseline where relevant
Output Validated product/delta, source mapping, template work items, batched unresolved questions and H1 review view
Task instructions Ask the owning profile for a bounded interpretation when knowledge is insufficient; return evidence to the asking case.
Memory configuration/normalization
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
The normalizer can map live codes; the tariff analyst remains DB-blind. Missing numeric rates and contradictions are questions.
Runtime access ingestion.read-source-revision
runtime.render-approved-product-model
scoped catalogue reads and semantic reconstruction
May consult support/experience — Has a product of this shape failed before, and how? The known failure becomes an assertion in the stage plan.
Eval set configuration.normalization

Methods. common.skill.experience, configuration.skill.normalization, common.db-prober.

Selected method segments. product-change strategy; current case/tenant and version filters

Full technical definition, sources and executable bindings.

Independent source analyst · configuration.source_analyst

Read the insurer's material with no access to the estate and no knowledge of the intended model: what the documents actually say about rates, loadings and taxes; covers and their definitions; factors and their value lists; packages and selection rules — the axes nobody announced and the omissions nobody mentioned included. One pass over the whole source set, so a cover named in the tariff and missing from the cover sheet is caught by the same reader.

Agent contract Detail
Input Extracted source set with cell/page/range coordinates, legends and message ids — and no current-product context
The reading rubrics this case selects: tariff, loadings and taxes · covers and definitions · factors and value lists · packages and selection rules
Output Per-rubric independent reading with reconciliation counts, suspect cells, not-stated items and cross-rubric mismatches
Pre-emptive notes where the documents are silent in a way the customer may not intend
Memory configuration/normalization (document-reading rules only)
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
No database connector, current-product intent or other spec context: independence is provisioning, not instruction. Mapping anything to a live code is the normalizer's step, never this profile's.
One profile, several rubrics, one pass over the source set. It reads what the documents say; it never authors the specification, resolves a contradiction or decides a business question.
Runtime access ingestion.read-source-revision
Eval set configuration.normalization

Methods. configuration.skill.normalization.

Selected method segments. Only independent tariff reading from source material; no catalogue/DB inputs or whole-model helper.

Full technical definition, sources and executable bindings.

Plan and build the rating · configuration.abacus.builder

Interpret the accepted tariff, clarify missing rate meaning and coordinate the selected rating versions, examples and sign-out. It plans and builds: the profile that decides the rating shape is the profile that emits the effect packet, which the target's deterministic effect applier checks, applies and journals.

Agent contract Detail
Input Source-cited tariff/model, units and rate bases; worked-example oracle; template/caller/date selectors; current engine and shared-file consumers
Current case brief, unresolved decisions, target scope and prerequisite result revisions
Output Tariff plan and source decisions; selected PPA version/file changes; per-cover and loading examples with currency; selector/version proof; rating summary and downstream seed dependencies
Parent-confirmed preparation plan; H2-ready effect packet; independent verdict and H3 sign-out or specific rework request
Task instructions Resolve axes, rate dimensions, cover/loading/tax scope and order; distinguish representable configuration from an evaluator change. Build one bounded plan per required template and join the results.
Keep clarification, plan synthesis and the permitted implementation in the same domain task. Use the communication procedure for questions through the root; do not add a mandatory pre-stage agent.
Propose the plan to the immediate parent before dependent work. H2 and effect permission remain separate. Select helper tasks only for a concrete template, evidence gap or independently checkable result.
Submit fresh proof to the domain validator; repair the failed item and invalidate dependent results when the source or plan changes.
Memory configuration/abacus
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Select helpers and tools per work item; tools shown are eligible bindings, not an unconditional sequence. Independent validator checks stage proof; root obtains the applicable decisions.
Configuration declares no separate implementer. The target system is the domain, so there is no placement decision to separate, and the apply path is packet → deterministic effect applier on that target → journal (D183, D185).
Runtime access connector.rating.compile-version
runtime.render-approved-parameters
connector.abacus.getRates
Context continuity One domain task carries plan, clarification and execution coordination for this selected stage. Parallel template leaf tasks receive their full relevant source slice and report into the same plan; they do not own the global customer request.
May consult support/investigators/pricing — The tariff request map ABC_CFG_PRICING_FACTORS for an INSIS-priced product (D121).
source/serdica-backend — Unsupported filter or evaluator logic: a consult on the engine; an accepted code change is Hd. (a change is Hd)
Eval set configuration.rating

Methods. configuration.skill.rating-build, configuration.skill.rating-verification, common.skill.communication, common.db-prober, common.effect-applier.

Selected method segments. Clarification segment: source ambiguities and dependency questions via the root; no channel send authority.

Full technical definition, sources and executable bindings.

Plan and build the catalogue and factors · configuration.ipal.builder

Translate product meaning into the catalogue, factors and process registration, keeping shared keys and downstream consumers consistent. It plans and builds: the profile that decides the catalogue shape is the profile that emits the effect packet, which the target's deterministic effect applier checks, applies and journals.

Agent contract Detail
Input Accepted product/delta and source coordinates; S2 rating summary or verified baseline; product/cover/object keys; factor and process-fit evidence
Current case brief, unresolved decisions, target scope and prerequisite result revisions
Output Catalogue/factor/process plan; scoped semantic delta and returned ids; enabled/consumed controls; downstream mapping and sign-out evidence with unresolved external dependencies
Parent-confirmed preparation plan; H2-ready effect packet; independent verdict and H3 sign-out or specific rework request
Task instructions Map PR_BASIC products/covers/definitions, PR_PRICING_FACTORS and dependencies; establish consumed validations/mappings and process fit. Clarify ambiguous cover fan-out, currency, donor semantics or missing consumers before preparing changes.
Keep clarification, plan synthesis and the permitted implementation in the same domain task. Use the communication procedure for questions through the root; do not add a mandatory pre-stage agent.
Propose the plan to the immediate parent before dependent work. H2 and effect permission remain separate. Select helper tasks only for a concrete template, evidence gap or independently checkable result.
Submit fresh proof to the domain validator; repair the failed item and invalidate dependent results when the source or plan changes.
Memory configuration/ipal
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Select helpers and tools per work item; tools shown are eligible bindings, not an unconditional sequence. Independent validator checks stage proof; root obtains the applicable decisions.
Configuration declares no separate implementer. The target system is the domain, so there is no placement decision to separate, and the apply path is packet → deterministic effect applier on that target → journal (D183, D185).
Runtime access runtime.render-approved-parameters
scoped catalogue reads and semantic reconstruction
connector.process.read
connector.browser.scoped-action
Context continuity One domain task carries plan, clarification and execution coordination for this selected stage. Parallel template leaf tasks receive their full relevant source slice and report into the same plan; they do not own the global customer request.
May consult source/serdica-backend — Does a deployed process fit this product's shape? No is a deploy boundary: Hd to Customer-specific development for the process (D86). (a change is Hd)
Eval set configuration.catalogue

Methods. configuration.skill.catalogue-build, common.skill.communication, common.db-prober, common.effect-applier.

Selected method segments. Clarification segment: source ambiguities and dependency questions via the root; no channel send authority.

Full technical definition, sources and executable bindings.

Plan and build the packages and selection rules · configuration.offer.builder

Turn the insurer's package and cover-selection wishes into explicit offers, dependencies, limits and rating-template selection. It plans and builds: the profile that decides the packaging shape is the profile that emits the effect packet, which the target's deterministic effect applier checks, applies and journals.

Agent contract Detail
Input Accepted package/selection wishes; S3 catalogue or verified baseline; insured-object segments; limits and rated-template information
Current case brief, unresolved decisions, target scope and prerequisite result revisions
Output Insurance package plan; LB/LBRR cover/extent/limit matrix and selector links; positive and forbidden-selection cases; signed package result
Parent-confirmed preparation plan; H2-ready effect packet; independent verdict and H3 sign-out or specific rework request
Task instructions 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.
Keep clarification, plan synthesis and the permitted implementation in the same domain task. Use the communication procedure for questions through the root; do not add a mandatory pre-stage agent.
Propose the plan to the immediate parent before dependent work. H2 and effect permission remain separate. Select helper tasks only for a concrete template, evidence gap or independently checkable result.
Submit fresh proof to the domain validator; repair the failed item and invalidate dependent results when the source or plan changes.
Memory configuration/offer
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Select helpers and tools per work item; tools shown are eligible bindings, not an unconditional sequence. Independent validator checks stage proof; root obtains the applicable decisions.
Configuration declares no separate implementer. The target system is the domain, so there is no placement decision to separate, and the apply path is packet → deterministic effect applier on that target → journal (D183, D185).
Runtime access runtime.render-approved-parameters
scoped catalogue reads and semantic reconstruction
connector.abacus.getRates
runtime.run-declared-assertions
Context continuity One domain task carries plan, clarification and execution coordination for this selected stage. Parallel template leaf tasks receive their full relevant source slice and report into the same plan; they do not own the global customer request.
Eval set configuration.offer

Methods. configuration.skill.offer-build, common.skill.communication, common.db-prober, common.effect-applier.

Selected method segments. Clarification segment: source ambiguities and dependency questions via the root; no channel send authority.

Full technical definition, sources and executable bindings.

Plan and build the product's wiring · configuration.serdica.builder

Make the configured product usable by the intended actors through its routes, access, labels, numbering and document wiring. It plans and builds: the profile that decides the wiring shape is the profile that emits the effect packet, which the target's deterministic effect applier checks, applies and journals.

Agent contract Detail
Input Accepted product/template and seller/service audience; maintained languages; numbering/document requirements; current routes/endpoints and prerequisite ids
Current case brief, unresolved decisions, target scope and prerequisite result revisions
Output Wiring plan; route/endpoint/message/numbering/print delta; deployment dependencies; actor/language/document assertions and signed result
Parent-confirmed preparation plan; H2-ready effect packet; independent verdict and H3 sign-out or specific rework request
Task instructions Resolve navigation versus backend authorization, exact message keys/languages, numbering principal/office/year and wanted document/copy parameters. Separate configuration from source/evaluator or external-owner dependencies.
Keep clarification, plan synthesis and the permitted implementation in the same domain task. Use the communication procedure for questions through the root; do not add a mandatory pre-stage agent.
Propose the plan to the immediate parent before dependent work. H2 and effect permission remain separate. Select helper tasks only for a concrete template, evidence gap or independently checkable result.
Submit fresh proof to the domain validator; repair the failed item and invalidate dependent results when the source or plan changes.
Memory configuration/serdica
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Select helpers and tools per work item; tools shown are eligible bindings, not an unconditional sequence. Independent validator checks stage proof; root obtains the applicable decisions.
Configuration declares no separate implementer. The target system is the domain, so there is no placement decision to separate, and the apply path is packet → deterministic effect applier on that target → journal (D183, D185).
Runtime access runtime.render-approved-parameters
scoped catalogue reads and semantic reconstruction
connector.browser.scoped-action
connector.process.read
Context continuity One domain task carries plan, clarification and execution coordination for this selected stage. Parallel template leaf tasks receive their full relevant source slice and report into the same plan; they do not own the global customer request.
May consult source/serdica-ui — Will this render, and to which roles? A missing component is Hd, never a forced near-fit. (a change is Hd)
Eval set configuration.wiring

Methods. configuration.skill.wiring-build, common.skill.communication, common.db-prober, common.effect-applier.

Selected method segments. Clarification segment: source ambiguities and dependency questions via the root; no channel send authority.

Full technical definition, sources and executable bindings.

Validate the joined product and target result · configuration.integration.validator

Join the selected domain proofs against the original requested product and verify the claimed working-preview or delivered-target result.

Agent contract Detail
Input Original objective and accepted source/specification revision with citations
Selected domain sign-outs and their independent verdicts; current target evidence, actor/template/date assertions, skipped-stage baselines and open dependencies
Output Joint or target verdict with covered assertions, separating counterexamples, missing evidence and precise proof scope
Task instructions Trace the requested consumer journey across the selected stage boundaries; do not repeat each domain's entire test suite without a join risk.
Verify current audience, offer/template/version, factors, output and requested persistence/transfer/document surfaces. A native INSIS request does not imply an IPAL journey.
Keep working preview, target delivery and customer acceptance separate; return missing external proof as an open obligation.
Memory configuration (read/propose)
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Domain-specific validator remains separate from Data/source review. Preview acceptance is not target delivery; effectful tests require authority.
Runtime access runtime.run-declared-assertions
connector.abacus.getRates
connector.browser.scoped-action
scoped catalogue reads and semantic reconstruction
Context continuity Receive the original objective, approved source/specification revision and citations, current baselines, predecessor result references, acceptance assertions, dependencies and known uncertainties. Exclude the author's private reasoning/transcript, not these necessary facts. Request missing evidence from the parent before judging.
Eval set configuration.joint

Methods. common.skill.validation, configuration.skill.product-proof, configuration.skill.rating-verification.

Full technical definition, sources and executable bindings.

Configuration release coordinator · configuration.deployer

Re-emit exact target artifacts and coordinate authorised configuration delivery, smoke proof and journal-derived recovery.

Agent contract Detail
Input Accepted sign-outs, requested target set, fresh baseline, H4 packet and applicable execution grants
Accepted source/configuration artefact hashes and semantic change set; fresh target inventory, baseline and drift; ordered dependencies and external-owner obligations
Output Target execution report, smoke evidence, consumed version map, recovery or remaining obligations
Versioned deployment packet: ordered API requests, parameterised SQL/migrations and source/build artefacts only where required; preconditions, exact scope/counts, assertions and recovery commands
H4 packet decision, applicable execution grants, effect journal, target verification refs and unresolved recovery/delivery obligations
Task instructions Prepare and follow exact operation packets, park external-owner steps and reconcile unknown outcomes before retry.
Prepare release scripts and exact API/SQL bindings after the working result is accepted. Reconcile against each target; do not copy working-environment surrogate ids or erase target-only valid state.
Reconfirm if target baseline or packet revision changes. Execute only through the shared auditor/gates/executor; reconcile unknown effects before retry.
Deployment preparation is after authoring, but still part of requested delivery. Do not close that obligation while scripts, confirmations, application, proof or due restoration are missing.
Memory configuration (release and recovery rules)
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Independent configuration validator proves result; no copying target ids or reusing a grant after packet revision.
Runtime access runtime.render-approved-parameters
scoped catalogue reads and semantic reconstruction
runtime.request-effect
connector.what-landed
runtime.validate-contract
Context continuity One deployment responsibility retains the chosen target set, packet revisions, decisions and effect journal through preparation, dispatch, verification and recovery. New target/scope needs a new current packet and authority, not a fresh agent for every step.
Eval set configuration.release

Methods. configuration.skill.release, source.skill.release, common.effect-applier.

Full technical definition, sources and executable bindings.

Validate tariff and selectors · configuration.abacus.validator

Re-derive rate bases and expected components from approved source examples; test intended template/caller/date and fallback, effective-date boundaries and unaffected versions. Compilation or a DEPLOYED row alone is insufficient.

Agent contract Detail
Input Source-cited tariff/model, units and rate bases; worked-example oracle; template/caller/date selectors; current engine and shared-file consumers
Current proposed delta and observations with provenance; original acceptance/failure assertions; current scope, known gaps and dependencies
Output Domain verdict per assertion: pass, counterexample or missing evidence; exact source/target revisions and proof limits
Task instructions Re-derive rate bases and expected components from approved source examples; test intended template/caller/date and fallback, effective-date boundaries and unaffected versions. Compilation or a DEPLOYED row alone is insufficient.
Return the verdict to the requesting parent with evidence; do not edit the author's artefacts, approve the result or acquire target authority.
Memory configuration/abacus (read/propose; planner owns canonical publication)
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Domain-specific validator remains separate from Data/source review. Preview acceptance is not target delivery; effectful tests require authority.
Runtime access connector.abacus.getRates
scoped PPA version/file/selector reads
runtime.run-declared-assertions
Context continuity Receive the original objective, approved source/specification revision and citations, current baselines, predecessor result references, acceptance assertions, dependencies and known uncertainties. Exclude the author's private reasoning/transcript, not these necessary facts. Request missing evidence from the parent before judging.
Eval set configuration.rating

Methods. common.skill.validation, configuration.skill.rating-verification.

Full technical definition, sources and executable bindings.

Validate catalogue and consumers · configuration.ipal.validator

Check meaning and returned keys across cover/object definitions, factor dependencies, validations and actual downstream consumers. Include historical/unaffected keys and the operator flow when its wiring is ready; row presence or a populated dropdown is insufficient.

Agent contract Detail
Input Accepted product/delta and source coordinates; S2 rating summary or verified baseline; product/cover/object keys; factor and process-fit evidence
Current proposed delta and observations with provenance; original acceptance/failure assertions; current scope, known gaps and dependencies
Output Domain verdict per assertion: pass, counterexample or missing evidence; exact source/target revisions and proof limits
Task instructions Check meaning and returned keys across cover/object definitions, factor dependencies, validations and actual downstream consumers. Include historical/unaffected keys and the operator flow when its wiring is ready; row presence or a populated dropdown is insufficient.
Return the verdict to the requesting parent with evidence; do not edit the author's artefacts, approve the result or acquire target authority.
Memory configuration/ipal (read/propose; planner owns canonical publication)
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Domain-specific validator remains separate from Data/source review. Preview acceptance is not target delivery; effectful tests require authority.
Runtime access scoped catalogue/factor/mapping reads
connector.process.read
runtime.run-declared-assertions
Context continuity Receive the original objective, approved source/specification revision and citations, current baselines, predecessor result references, acceptance assertions, dependencies and known uncertainties. Exclude the author's private reasoning/transcript, not these necessary facts. Request missing evidence from the parent before judging.
Eval set configuration.catalogue

Methods. common.skill.validation, configuration.skill.catalogue-build, configuration.skill.product-proof.

Full technical definition, sources and executable bindings.

Validate package rules and selection · configuration.offer.validator

Independently exercise LB/LBRR dependencies, conflicts and restrictions; assert optionality, cover selection and TemplateOfferCode/OfferCode template resolution. Available cover is not selected cover; pricing one happy path is insufficient.

Agent contract Detail
Input Accepted package/selection wishes; S3 catalogue or verified baseline; insured-object segments; limits and rated-template information
Current proposed delta and observations with provenance; original acceptance/failure assertions; current scope, known gaps and dependencies
Output Domain verdict per assertion: pass, counterexample or missing evidence; exact source/target revisions and proof limits
Task instructions Independently exercise LB/LBRR dependencies, conflicts and restrictions; assert optionality, cover selection and TemplateOfferCode/OfferCode template resolution. Available cover is not selected cover; pricing one happy path is insufficient.
Return the verdict to the requesting parent with evidence; do not edit the author's artefacts, approve the result or acquire target authority.
Memory configuration/offer (read/propose; planner owns canonical publication)
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Domain-specific validator remains separate from Data/source review. Preview acceptance is not target delivery; effectful tests require authority.
Runtime access scoped LB/LBRR reads
connector.offer.resolve
connector.abacus.getRates
runtime.run-declared-assertions
Context continuity Receive the original objective, approved source/specification revision and citations, current baselines, predecessor result references, acceptance assertions, dependencies and known uncertainties. Exclude the author's private reasoning/transcript, not these necessary facts. Request missing evidence from the parent before judging.
Eval set configuration.offer

Methods. common.skill.validation, configuration.skill.offer-build, configuration.skill.product-proof.

Full technical definition, sources and executable bindings.

Validate product access and wiring · configuration.serdica.validator

Check intended and excluded actors at navigation and backend boundaries; exact visible maintained-language text; sequence/grant/synonym principal; wanted and unwanted print documents/copies. Gate any number allocation, printing or issued test separately.

Agent contract Detail
Input Accepted product/template and seller/service audience; maintained languages; numbering/document requirements; current routes/endpoints and prerequisite ids
Current proposed delta and observations with provenance; original acceptance/failure assertions; current scope, known gaps and dependencies
Output Domain verdict per assertion: pass, counterexample or missing evidence; exact source/target revisions and proof limits
Task instructions Check intended and excluded actors at navigation and backend boundaries; exact visible maintained-language text; sequence/grant/synonym principal; wanted and unwanted print documents/copies. Gate any number allocation, printing or issued test separately.
Return the verdict to the requesting parent with evidence; do not edit the author's artefacts, approve the result or acquire target authority.
Memory configuration/serdica (read/propose; planner owns canonical publication)
Restrictions One scoped task instance per selected responsibility; a reused profile never shares another case transcript, grants or mutable task state.
Boot from the own domain index, task request, pinned profile and confirmed parent plan. Select relevant articles, skills, tools and helpers on demand.
Domain-specific validator remains separate from Data/source review. Preview acceptance is not target delivery; effectful tests require authority.
Runtime access scoped route/endpoint/message/numbering/print metadata reads
connector.browser.scoped-action
runtime.run-declared-assertions
Context continuity Receive the original objective, approved source/specification revision and citations, current baselines, predecessor result references, acceptance assertions, dependencies and known uncertainties. Exclude the author's private reasoning/transcript, not these necessary facts. Request missing evidence from the parent before judging.
Eval set configuration.wiring

Methods. common.skill.validation, configuration.skill.wiring-build, configuration.skill.product-proof.

Full technical definition, sources and executable bindings.

0. The agents

P The tree. A normalizer and four domain builders own their knowledge while receiving the relevant whole-case context; each S2–S5 builder has a domain validator. Two isolations keep the specification honest — the source analyst has no database connector, the estate prober is told nothing about the product it measures; independent verification with original source requirements and current evidence, excluding author reasoning; one write path through the platform's effect applier and auditor. The dashed edges are consults to the other modules' domains and the one handover.

flowchart TB
  R["configuration.root"]:::owner
  N["S1 Normalizer"]:::work
  TA["Source analyst"]:::work
  EP["Estate prober"]:::work
  ST["S2–S5 domain builders
clarify, plan, coordinate"]:::work V["Domain validators
then joint product proof"]:::proof D["Deployer"]:::work M["Owned domain knowledge"]:::learn O["Other module or
external owner"]:::store R -->|"scope"| N N --> TA N --> EP N -->|"validated input"| ST ST -->|"signed results"| V V -->|"requested release"| D ST -.->|"when needed"| O M -.->|"compatible knowledge"| ST D -.->|"propose learning"| M classDef work fill:#eef4ff,stroke:#6889ba,color:#17365b,stroke-width:1.3px classDef decision fill:#fff4df,stroke:#b78c36,color:#65470d,stroke-width:1.5px classDef proof fill:#e9f5ef,stroke:#689b81,color:#224e39,stroke-width:1.3px classDef learn fill:#f1edf9,stroke:#9580b9,color:#534172,stroke-width:1.3px classDef store fill:#f5f7fa,stroke:#98a6b7,color:#34445a,stroke-width:1.2px classDef owner fill:#24486b,stroke:#24486b,color:#ffffff,stroke-width:1.4px click R href "../modules.html" "Confirms child plans; joins all selected stage and external results." click N href "stage-normalization.html" "Full product or existing-product delta; owns the specification revision." click TA href "stage-normalization.html" "Interprets source tariff material without database access." click EP href "stage-normalization.html" "Reads current state without inventing the customer's intent." click ST href "agents-and-skills.html#cap-configuration-abacus-builder" "Abacus, IPAL, Offer and Serdica; run only the selected dependency graph." click V href "agents-and-skills.html#cap-configuration-integration-validator" "Checks selected templates, stage results and complete target assertions." click D href "configuration-module.html#3b-release-packet-and-completion" "Coordinates the selected release through the shared authority/executor path." click M href "../50-agents/agents-memory.html" "Each stage proposes learning to its owner; the shared curator owns the case index." click O href "../case-journeys.html" "A consult brings evidence; Hd recruits work; external instructions retain an obligation."

Profiles and responsibility. Solid arrows pass work or evidence; dashed arrows are knowledge or conditional collaboration. Execution itself always uses the shared auditor, gate and deterministic connector protocol.

P Configuration is reached by a handover packet from support.root (D142, D143). The configuration root reads the packet — or, for a case an operator started in place, converses with the operator — for what material arrived, what the task is (new product, tariff change, packaging change), which stages it needs, the working environment and the intended deployment set, and instantiates the stage agents for exactly that (decision 02.09.2026). The packet's fields are named once in Agents § 5 and drafted in Contracts § 2 (handover-packet.schema.json); § 4b says what this module does with them. v1 skills such as /configure-product are evidence and seeds for the stage prompts and memory domains, never runtime components of the module. Standing rules on the edges [F: the PC 9951 run]: after two failed attempts at an unknown write contract, stop and ask the owning agent; a sub-agent's convenient "missing/inaccessible" that contradicts established evidence is re-asked with the how, not believed. Isolation is provisioning — the source analyst's scope contains no DB connector; the validator's scope contains no author transcript (Agents § 0.2).

Profiles in full — what each boots from, writes, may use, is denied, and the eval set that proves it: Components — Configuration § 3.

0.1 Its branch of the memory tree

configuration/
├─ AGENTS.md            stage index + module rules
├─ normalization/       input-document traps, whitelabel field catalogue, reconciliation
├─ abacus/              engine, versions, grids, filters, getRates skill
├─ ipal/                catalogue, factors, translations, input reading, camunda process registration
├─ offer/               LB packages, dependencies, conflicts, restrictions
└─ serdica/             routes, views, endpoints, core, roles, numbering, print

Every seed a fact, linked; migration is per domain and accepted on a measured hit-rate (Agents Memory § 7) — the tariff and catalogue domains are wave 1, the rest wave 2.

Domain Owning profile Contents Seeds
configuration/normalization normalizer input-document traps, the whitelabel field catalogue, the reconciliation rules Stage Normalization; the three configurator documents (Product Configurator § A)
configuration/abacus abacus builder engine reference, version/template/filter rules, grid formats, getRates skill notes, POL-only state PC abacus-engine-reference/rating-tables/analytics-ppa; getRates recipe; QT obsoletion
configuration/ipal ipal builder catalogue chain, factor model, input-document reading traps, translations, camunda process registration (D86) product config KB; PC ipal-configuration/pricing-factors/input-contract/translations
configuration/offer offer builder LB/LBRR model, package semantics, dependency mechanics PC offers-engine; LB rules
configuration/serdica serdica builder Routes/EndPoints/core-appsettings, roles, numbering+grant+synonym, print routes, numbering, print, stated 31.08 table list

0.2 Agents, methods and executable helpers

P Full definitions live on Agents and methods. Shared definitions are referenced from Common agents and methods. Each method owns its optional executable helpers; runtime/connector operations are not extra skills.

Configuration work procedures explains the actual S1–S5/joint/release work and covers every CF case.

1. The phases

P Delta and template variants: Case journeys § 5 and configuration-change define the existing-product path. S1 reads current source/target configuration and the requested difference, selects only affected stages and binds unchanged prerequisites to evidence. Multi-template work is a bounded S2 fan-out and result-matrix join using single-template leaf specifications. Small size removes irrelevant stages, not required scope, assertions or effect gates. INSIS-native dependencies retain named external owners under the existing scope boundary; their missing proof prevents a false complete-product sign-out.

P Configuration runs in two phases, and phase 2 has two branches that run at the same time (decision Vladimir, 03.09.2026 — D75). Intake and normalization produce the specification; phase 1 builds the tariff; phase 2 builds the product and its wiring in parallel. Every phase ends the same way: its own tests pass, and it signs out a document the next phase reads — never the phase's transcript, never its agent.

flowchart TB
  N["S1 Scope and baseline"]:::work
  H["Confirm scope
H1 or H1a"]:::decision A["S2 Rating
selected templates"]:::work I["S3 Product
S4 Offers"]:::work S["S5 Wiring"]:::work J["Joint working proof
preview acceptance"]:::proof G["Release packet
H4 and effect gates"]:::decision T["Target proof
delivery acceptance"]:::proof N --> H H -->|"if rating changes"| A A -->|"rating result"| I A -->|"rating result"| S H -.->|"baseline-backed delta"| I H -.->|"baseline-backed delta"| S I --> J S --> J A -.->|"rating-only scope"| J J -->|"release requested"| G G --> T classDef work fill:#eef4ff,stroke:#6889ba,color:#17365b,stroke-width:1.3px classDef decision fill:#fff4df,stroke:#b78c36,color:#65470d,stroke-width:1.5px classDef proof fill:#e9f5ef,stroke:#689b81,color:#224e39,stroke-width:1.3px classDef learn fill:#f1edf9,stroke:#9580b9,color:#534172,stroke-width:1.3px classDef store fill:#f5f7fa,stroke:#98a6b7,color:#34445a,stroke-width:1.2px classDef owner fill:#24486b,stroke:#24486b,color:#ffffff,stroke-width:1.4px click N href "stage-normalization.html" "Start from supplied material and the current estate; confirm the requested delta." click H href "../gating.html" "Confirm the original specification or only its changed revision." click A href "stage-abacus.html" "Bounded template tasks rejoin on complete selector/version proof." click I href "stage-ipal.html" "Catalogue and offer work follow declared dependencies." click S href "stage-serdica.html" "Routes, roles, labels, numbering and print obligations." click J href "../case-protocol.html" "Join all selected stages and external dependencies; preview is not delivery." click G href "../gating.html" "Only the requested target set, with applicable H5 and write-class requirements." click T href "../case-journeys.html" "Verify the actual target; no missing template or dependency can hide behind a green build."

The full path and the delta path share the same contracts. Dashed routes use explicit current baseline bindings for unchanged stages; they do not bypass required proof or effect gates.

Stage ids name the stage documents, not a running order (D83).

P Where the workflow ends. Joint proof establishes the working-environment preview: quoted/issued only where the selected stages actually prove them. CG-11 records acceptance of that preview revision. If the agreed objective includes a target deployment, the case continues through H4, every applicable effect gate, execution and target verification; preview acceptance does not close it. A preview-only assignment may finish there because that was its explicit objective. The release sign-out names the target, applied artefacts and smoke evidence; final customer acceptance binds that delivery scope.

Phase Stage agents Writes Signs out
S1 Normalization (intake) normalizer, source analyst, estate prober nothing the specification and its open questions — gate H1
Phase 1 · Abacus abacus stage rating versions, deployed on the working environment only, in no deployment set (D113) the tariff sign-out — the configuration summary, extended with § 1b
Phase 2A · Serdica serdica stage routes, labels, endpoints, roles, numbering, print the wiring sign-out
Phase 2B · IPAL ipal stage, offer stage catalogue, covers, definitions, factors; packages, rules, preset limits the product sign-out
Release — inside the requested case outcome deployer the chosen deployment set on the target the release sign-out — what ran, its smoke results, its teardown

P Parallel preparation, explicit write prerequisites. Product and cover codes are fixed at H1, so 2A and 2B can plan concurrently. That does not remove foreign-key dependencies: a label must exist before a row referencing it, and shared rows/returned ids can serialise individual writes. The plan declares those edges and the runtime enforces them with result references and impact claims. Joint quotation/issuance waits for both branches.

What still has an order, and is therefore a joint test. Driving the sales wizard as an operator needs 2B's catalogue and 2A's visibility. So the quoted and issued rungs are proved once, after both branches report green — the joint proof — and neither branch may claim them alone (Configuration Module § 7.4). Each branch proves only the rungs its own writes support: 2B up to reachable, 2A the visibility and label assertions.

P Loop-backs are still real and are still allowed F: [product configuration]: work in 2B can surface a rating gap, which re-enters phase 1 as a delta — the phase amends the affected plan and evidence, and its sign-out is re-issued with a new revision (Configuration Module § Challenges). A re-issued sign-out re-opens the assertions of any phase that consumed the superseded one.

P A case may run a subset. A tariff change is S1 and phase 1 and deploys the rating alone; a packaging change is S1 and phase 2B; a whole new product runs everything. The stage set is the root agent's decision at intake, recorded in plan revision 1.

1b. The sign-out document

P One per phase, and the authoritative result the next phase consumes alongside the shared specification. It is a generated artefact, not prose written by hand: every section is projected from the phase's plan, its write log and its test results.

Section Content
What was built per configuration object: the identity written and the count, taken from the write log — never from the plan's intention
What was tested which skill ran, on which environment, with its per-item assertions and each one's result
The proof level reached the rung on the ladder — structural → priced → reachable → quoted → issued — and never the one above it (Architecture CR-3, D85)
What the next phase needs the facts the next phase's plan is built from: the frozen vocabulary, cover codes, factor codes, template codes, and for phase 1 the full configuration summary
What is open the unresolved items this phase could not close, each with what it blocks and where the answer should come from
What was written, and how to undo it the write shapes used and the teardown for the phase as a unit, so a phase is revertable without reading its transcript (Gating § 4). P The fallback statement path — SQL, a revert script or a configuration-endpoint action — is assembled by the stage agent from the approved template, and the agent that emits a deployment artefact emits its revert in the same step (D120)

P A sign-out is confirmed at H3 by the role assigned in the case type: Operator by default, or Customer representative for client-led business results. CG-11 separately accepts the preview/delivery scope. It carries a revision number; a later phase records which revision it consumed, so a re-issued sign-out makes the dependent assertions re-run rather than silently drift.

Why a document and not a message. Five people build the stages and different people work the phases of one product over days. A sign-out is what lets phase 2B start from what phase 1 established rather than from what its agent remembers, and it is what a person reads when a case is picked up by someone else.

2. The stage protocol — every stage passes the same phases

sequenceDiagram
  autonumber
  participant S as Stage owner
  participant R as Root and case service
  actor H as Assigned decision holder
  participant X as Executor and connector
  S->>R: Plan and current baseline
  R->>H: Scope, assertions and required decisions
  H-->>R: Confirm or revise the exact packet
  R->>X: Authorised working-target operation
  X-->>R: Recorded effects and test evidence
  R->>S: Evidence for stage verification
  S-->>R: Signed result or a precise gap
  opt Requested target release
    R->>H: Joined release and effect decisions
    H-->>R: Current target authority
    R->>X: Apply selected release set
    X-->>R: Actual target version and proof
  end
  R-->>H: Preview or delivery result, explicitly scoped

One selected stage, from planning to target proof. Reads and case-local planning need no target write grant; every target effect goes through the coordinator. Preview and target delivery remain separate.

Phases 2/3, 6, 8 and 8b are the human's; everything else is the agents'. Verification is per stage — phase 5 on the working environment, phase 10 on the target — there is no separate verification stage. A dead end at any phase goes to the root and, unresolved, to the human (gate H6); executing a teardown is its own decision (H7); "this needs code" hands over to the Customer-specific development module (id source) with prior human confirmation (Hd).

3. Deployment scoping

The deployment set is chosen with the human — at planning, revisable later: rating only (a tariff change on an existing product), rating + product (product structure without new packaging/wiring), full (abacus + ipal + offer + serdica — a new product). Each stage emits its own idempotent script set with teardown — the emitting agent writes the revert of every artefact it emits (D120); deployment executes the union in dependency order; smoke = the deployed stages' skills run read-only against the target (getRates reference quote; offer resolution; route/label checks). Deploy-coupled items (core appsettings.json, Camunda registration from S3) ride the service-deployment plan and are sequenced with the scripts [F: stated 31.08; serdica stage, D86].

P Rules added from the case studies (02.09.2026) (Configuration Module § 8):

3b. Release packet and completion

P Each stage emits a script/template set, expected target assertions and its revert descriptor. The deployer combines the selected sets in dependency order, resolves target-specific names and binds the exact artefact hashes. H4 fires on that combined release packet, after the selected stage sign-outs and required joint proof; it does not fire a second time merely because a stage has a protocol-phase-8 label. H5 and the other effect requirements fire immediately before target execution. A changed script/set/target reopens the affected decision.

P Preview acceptance and delivery acceptance use CG-11 with different scope values in the packet: preview or delivery, environment, selected set, proof level and artefact revision. Accepting preview never implies accepting a production change. The existing client Acceptance screen renders the scope explicitly; no second client application is needed.

P Emitting scripts or encountering an external-owner dependency is a truthful partial outcome. It resolves a case only when the agreed objective was the script/referral, or the customer explicitly changes the scope. A request for an operational product remains held until its declared target and downstream obligations are proved; Configuration does not claim transfer proof that belongs to Data & Manipulation.

4. The agents

Stage Stage agent Sub-agents / skills Memory domain
S1 normalizer connector readers; source analyst (isolated — no DB context) configuration/normalization
S2 abacus builder getRates skill runner; effect applier configuration/abacus
S3 ipal builder policy skill runner; effect applier; consults source/serdica-backend on process fit configuration/ipal
S4 offer builder offer skill runner; effect applier configuration/offer
S5 serdica builder effect applier; consults source/serdica-ui on visibility/rendering configuration/serdica
all validator (isolated — no author reasoning/transcript; relevant requirements and evidence retained) signs phase-5/10 results; deployer owns phases 7–10 configuration/

The tree these rows form, the module's branch of the memory tree and its skills are at the head of this page (§ 0); every profile in full is Components — Configuration § 3.

4b. What this module asks of the others, and what they ask of it

P Two mechanisms, defined once in Agents § 5: a consult returns knowledge and costs a read; a handover (Hd) returns a changed system and costs a gate. Both handover directions here carry the one handover packet (D142 — request, response, completion; draft contract in Contracts § 2).

What Configuration asks:

It asks Of When What it does with the answer
"Has a product of this shape failed before, and how?" Support — support/experience + the symptom domain at S1, and again before each stage plan the known failure becomes an assertion in the stage plan rather than a surprise at H3
"Does a deployed process fit this product's shape?" Development — source/serdica-backend S3, in the plan's pre-check no is a deploy boundary: Hd to Development for the process, and the case carries on with the rest of the catalogue (D86)
"Will this render, and to which roles?" Development — source/serdica-ui S5 an object code or a component that does not exist is Hd, never a forced near-fit
a rule no layer can hold, a column too short, a plug-in Development — Hd any stage the stage stops at MISSING with the sub-case as the resolving event

P The module manifest declares Hd on S2–S5 with the handover packet as a produced contract: a working stage that stops at MISSING hands the packet to configuration.root, which raises the gate. The manifest is what the runtime instantiates, so the gate is declared where it can fire and not only described here.

What is asked of Configuration:

Asked By What answers it
"What state is this insurance product actually in?" Data & Manipulation, at S2 investigation (D144) configuration/ipal and configuration/abacus, read-only, inside the Support case
"Can this be priced the way the document says?" Support and Development configuration/abacus — a mechanism answer, labelled evidence
"Is this a configuration gap rather than a defect?" Development, at placement the owning stage domain — and yes turns the consult into an Hd to this module
"Re-configure this" Support — Hd configuration.root accepts and opens a sub-case with its own stage set, or rejects with a reason

P The recurrence rule is what makes this traffic pay for itself: the second identical manual fix — precipitated by the Data & Manipulation module at S8 (D144) — is a configuration gap, and it arrives here as a handover rather than as a third repair — which is the whole economic argument for the two modules sharing one platform.

5. Worked reference

The 9951 «Каско Максимум» run [F: artifact] maps onto S1 (tariff PDF + template read, counts reconciled), S2 (ratings built and reconciled per cover), S3 (catalogue + wizard driven until a premium rendered), S4 (the packaging layer — whose absence the donor diff caught), single environment, no deployment stage. The module generalizes exactly that run with: per-stage human iteration, scoped deployment, and session/audit around it.

6. Evaluation

The module's golden set is the round-trip test [F: method proven in the PC 9951 run]: export a selling product + its real sources, run S1–S2 (model level) in a clean session, grade with the isolated grader (completeness · counts · correctness · excess · semantics; fatal/material/cosmetic). Re-runs when configuration/* domains, its skills, or model routes change.

7. The stage contract — what every stage owes every other

Five stage prompts are authored at the same time, by different people (Delivery track T2). Without one written contract each author invents their own input assumptions, output shape and completion test, and the mismatch only surfaces when the five are joined — the most expensive place to find it. This document is that contract: what a stage receives, what it must produce, how it proves it is done, and what it may not do. An author who has read this page can write their stage without asking anyone what the neighbouring stages expect.

The contract is binding on the prompt, not on the prose: a stage that produces something else, however good, breaks the pipeline.

7.1 What every stage consumes and produces

Stage Consumes Produces
S1 Normalization raw material from any connector — files, emails, tickets, the client surface the whitelabel specification as schema-valid product.json, every field cited, with its generated Markdown for H1 review; the open-questions list
S2 Abacus the specification's tariff, ld, ancillary_premiums, tariff_constraints and factors sections — the grids key on factor codes, so the factor set is an input, not an output deployed rating versions on the working environment only, in no deployment set (D113); the configuration summary — 31 fields, defined; the stage script set
S3 IPAL the S2 configuration summary + the specification's meta, objects, covers, factors a quotable, issuable product; the catalogue facts S4 and S5 build on; the stage script set
S4 Offer the S3 catalogue + the specification's offers offers with cover extents, preset values, dependency/conflict/restriction rules, offer→template links; the stage script set
S5 Serdica the tariff sign-out + the specification's meta, covers and requirements — not S3/S4's rows (decision 03.09.2026 — D75: 2A runs beside 2B, and everything it keys on is fixed at H1) a product reachable by the intended roles, labelled per language, wired into its process; the wiring sign-out; the stage script set including the deploy-coupled items

P A stage reads its predecessor's produced artefact, never the predecessor's transcript or reasoning. This is what lets the five be written, tested and replaced independently.

P The artefact a phase hands on is its sign-out document (Configuration Module § 1b): what was built with counts from the write log, what was tested with its assertions, the proof rung actually reached, what the next phase needs, what is open, and the phase's teardown. A stage consumes a sign-out revision, records which one, and re-runs its dependent assertions when a superseded sign-out is re-issued.

P Which rungs a branch may claim alone. Phase 2B claims up to reachable; phase 2A claims the visibility and label assertions. Quoted and issued are the joint proof taken after both branches are green, because driving the wizard needs the catalogue and the visibility together. A branch that reports quoted on its own has claimed a rung it cannot support (Architecture CR-3).

P A stage that needs something its input does not carry raises it as an open question against S1 — it does not infer the value, and it does not reach back into the source documents itself.

P Ownership of what the five stages did not name (Configuration Module § 8 K, L, Q, W, X, AB — from the twelve parts of the v1 skill):

Configuration object Owner Rule
Validations and checks — CFG_FLD_VALIDATION(_VALUES), PR_OPERATIONS, CFG_MANUAL_PREMIUM_CONTROL S3 IPAL IPAL-side checks are catalogue behaviour; the policy skill asserts them
ABACUS-side validations and the tariff request mapping ABC_CFG_PRICING_FACTORS S2 Abacus — only when the product is priced from the INSIS side; the map is the INSIS→ABACUS proxy and is worked by a dedicated abacus–insis sub-agent of the Support module that S2 consults (D121); for an IPAL-only product the map stays empty and the acceptance script asserts it they decide what the engine receives; the getRates skill asserts them
Commission and reinsurance product rows S3 IPAL product-level catalogue; asked explicitly per product family
Questionnaire S3 IPAL factors of a special kind
BSO blank types and numbering S5 Serdica wiring, with the numbering step
The BPMN process S3 IPAL — registration against the product (D86) the process itself is Development work at Hd; only its registration is configuration
Claims indemnity rule sets (CLMIND#, SRVPRICE#) out of the module — a Development or claims-program item, recorded in MISSING with its owner the module configures sales, not settlement
The INSIS side of a dual-system product (1101/1102, 3607…) out of the module — one PL/SQL script run once per product, recorded as a named deliverable with an owner (D85, Stage IPAL) no sub-stage, no connector, no grant scope, no environment pairing; a change to the script is Development work at Hd
DDL (widening CFG_POLICY_NO_SEQ.PRODUCT_CODE, new columns) never configuration a Development-module (id source) item; the effect applier applies it under HW-ddl with the identity of the current D65 stage (D104), and a configuration stage that needs it stops at MISSING with Hd

P Two vocabularies the module works in. Shared vocabulary governs the code space — object, cover and factor codes, which are platform-wide and closed against invention. Premium vocabulary governs the premium terms a request arrives in, from the premium specification the Product Configurator is built against: what a rate is applied to, how a loading differs from a tax, why a write-off and a refund are different numbers, and which premium choices a product must settle for itself. Its terms are safe to adopt; its columns are claims to verify (Schema Quirks § 8).

P Amending the specification after H1 (U). A later stage that finds the specification wrong or short raises a Question against S1; the S1 owner edits product.json, the validator re-runs, the specification gets a new revision linked to the question, and the human confirms only the delta at an H1a decision; stages already applied re-reconcile their assertions against the new revision. Nobody else edits the specification.

P S3 may start before the S2 summary (V) when the catalogue skeleton is a prerequisite of rating — and in v2 that prepass is S3's, because those are S3's tables and the sync only ever runs IPAL → PPA (s3_prepass, never a v2 s2_bootstrap); the summary's skeleton_source records who created the rows, and S3 adopts rather than recreates them when the summary arrives. S3 may start on the factor codes fixed at H1 before the S2 summary exists; every assertion that reads a rate waits for the summary revision it cites.

7.2 The phase set

Every working stage S2–S5 uses the same eleven phases (Configuration Module § 2) — ten steps, with 8b splitting the approval of execution on a named target from the approval of the scripts. The author writes the stage-specific content of each; the phase order is fixed.

# Phase Whose The author must specify
1 gather agent which input sections are read, and what makes them insufficient
2 plan agent the step list with stable ids and one assertion each
3 confirm human — H2 what the plan shows the human: steps, assertions, open questions
4 apply agent the write order and its dependency rules; dry-run first
5 test agent the stage skill invocation and its per-item assertions
6 iterate human — H3 what is shown each round, and what "satisfied" means for this stage
7 scripts agent the idempotent script set and its teardown
8 approve scripts human — H4 the script set and its teardown
8b approve execution human — H5 the target environment, named — a separate decision from approving the scripts
9 deploy agent ordering against the other stages in the deployment set
10 verify agent the same skill, run read-only on the target

P Phase ownership. S1 normalizes and confirms the input at H1; it does not execute a configuration write cycle. S2–S5 prepare their sub-plans and obtain parent confirmation, then present the joined stage plan at H2 and its result at H3. Their script sets contribute to the selected release. Phases 7–10 participate in that joined release after the required working proof; they are not uncoordinated deployments before the preview. The operator chat shows the stage and sub-plan conversations, while the root joins their artefacts and requests human decisions.

7.3 The assertion form

P Every plan step carries exactly one assertion, and an assertion is a statement a tool can evaluate without judgement: a count, a row that must exist, a value that must equal a named expectation. "The covers look right" is not an assertion; "PR_BASIC_COVER holds 7 distinct cover codes for product 9951" is.

Why: an unrun step leaves nothing behind that looks wrong — the write log records only what ran. Assertions are what make absence visible at reconciliation (Agent Runtime § 11.3).

7.4 The done test

P A stage is done when, and only when:

  1. every plan step id is matched against the write log and its assertion re-run green (Agent Runtime § 11.3);
  2. the stage skill passes on the working environment — and on the target, if the stage is in the deployment set;
  3. the produced artefact of § 1 exists in full, or its gaps are listed in the case's MISSING paper with what each blocks;
  4. the human has confirmed satisfaction (H3);
  5. the script set and its teardown exist (H4).

The stage reports the level it actually reached, never an implied higher one (Architecture CR-3). The configuration ladder is: structural → priced → reachable → quoted → issued, and it ends there [F: the PC proof ladder]. Arrival in the incumbent system is proved by the Support module, not by a configuration rung (D85).

7.5 What a stage may not do

P

7.6 Ownership

P One author owns one stage prompt and its memory domain, and the five are disjoint: configuration/normalization, configuration/abacus, configuration/ipal, configuration/offer, configuration/serdica. No two stage agents write the same domain — that is what makes the pairs independent. Writes stay inside the own domain; cross-domain findings are handed over (Agents Memory § 2). Prompts are versioned and published through Agent Framework — the owner changes, the prompt-publisher role makes live — so five authors work independently without colliding.

P Each stage carries its own eval set — the author's proof that their stage works, runnable without the other four. The module's round-trip golden set (Configuration Module § 6) is the joint test and runs after.

Challenges

8. Real material — eight live cases

P Reading status. These walks preserve the evidence and gaps that shaped the design. Where a walk quotes an older gate, ownership or completion rule, the current runtime, gating and release contract above govern implementation; a historic gap paragraph is not a second runtime rule.

F Re-read against STAGING and PROD on 07.09.2026 (Configuration module — typical cases): CS-2, CS-3 and CS-4 are typical kinds of change on the customer's estate (CS-4 once in twelve months); CS-6 recurs in another form (the seam and the print, not the rating); CS-7 is typical as a failure mode; CS-1 (Ablera dev) and CS-5 (QA) are architecture tests that never ran on STAGING; CS-8 is a mapping exercise, not a case. The eight miss the three highest-frequency kinds — threshold relax and revert, bypass and visibility lists, broker and channel templates — and the census behind them: four new products in twelve months against hundreds of monthly row changes to the existing sixty, 31 of 68 Jira configuration tickets applied on PROD directly, 38 of 42 HDesk asks naming INSIS. The typical-cases page carries the twenty-five real kinds (CF-01 … CF-25) and the eleven challenges they raise against this page.

P Each of the 25 has a journey. CF-01 … CF-25 are traced through the platform as designed — the requested delta against a fresh export, the selected stages and their sign-outs, the rating and offer proof, the preview the business looks at, the gated deployment set, the reversal and the restoration of a temporary change — in the interactive case walkthrough, case by case from Typical cases. Case journeys § 5 owns the delta, fan-out and release rules; Case Protocol the service boundaries.

Real material: the 9951 template and tariff (extract lines 4322–5480), knowledge/motor_tariff_2026.md, HelpDesk 00097807 (3607), 00098747 (2214/2215 promo), 00104411 (4727 Гуми), bst_health/, memory/reference/cargo_products.md, .claude/skills/configure-product/skill.md.

Conventions: [gap] = the architecture is silent or breaks; [ok] = the architecture answers the case. Page references are Page § n.


CS-1 9951 «Каско Максимум» replayed through v2

The case. 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). Eight covers, six mutually exclusive clauses, five offers each naming a template (CM_D400, CM_D200, CM_D000, CM_D000_ADV), nine tariff layers = 3 deductibles × 3 vehicle groups, 378 cells, tax 2.5 %, LDs applied SUMарно. Single environment, no deployment, personal session.

Intake. The configuration root reads the two files through connector readers and asks the operator: new product (yes — Продукт!B2 says 9951, "да се потвърди, че кодът е свободен"), working environment (dev), deployment set (full — a new product), donor (4704 or 4703, motor, object CAR; CG-2 says desirable not required). First plan revision records stage set S1–S5. Ledger: CASE_OPEN, grants DEV/IPAL/read, DEV/ANLT/read, DEV/gateway/read; every write grant arrives later, per gate.

Deployment. Set = full; target = Bulstrad QA. H4: five script sets + teardowns; QA execution is H4 + the effect applier because QA is not customer-facing; STAGING/TEST and PROD use H5 (D114). [resolved — Gating § 1 / D114]. On QA the set is deployed in dependency order; smoke = getRates reference quote + offer resolution + route/label check, read-only. Teardown at H7 derives from the write log; irreversibles named: consumed policy numbers from the S3 test issue on dev.

Ledger. GATE_DECISION ×(H1, H2×5, H3×5, H4) — no H5, because the target is QA and QA is not customer-facing (D114) — GRANT bound to statement hashes, WRITE_LOG rows with row counts never result rows, MEMORY_WRITE when configuration/abacus learns a new engine refusal.

Where it breaks / is silent. (A) the proof-level ceiling under POL-only has no exit path; (B) S5 surface omits numbering/print; (C) H5 wording; (D) product.schema.json offers[].conflicts is a free array while the live table is flat per cover — the PC extract's „known gaps in this shape" (conflict group, object scoping of LBRR rules, LB_COVERS_DEF dimension/currency, LD rating table/formula/cap, ld.rate cannot round-trip, ld_constraints, top-level limit_restrictions, documents, annex_types) are not carried into the v0 schema, though Stage Normalization § Challenges says the catalogue is „the PC model plus the sections the estate's own products need".


What this case asked of each stage: S1 in Stage Normalization · S2 in Stage Abacus · S3 in Stage IPAL · S4 in Stage Offer · S5 in Stage Serdica

CS-2 2026 EUR tariff on 4710 ГО and 4704 Каско — abacus-only

The case. Bulstrad publishes the 01.01.2026 EUR tariffs (two PDFs in knowledge/sources/). 4704 has 71 DEPLOYED versions (broker templates, e.g. ER_RENT_EUR), clause covers CASCO_FULS/CLAUSE1-3/CASCO_B plus 17 add-ons; 4710 prices by region I–V × fuel × cc × kW × age with fixed premiums for non-passenger vehicles and a short-term scale (30/50/70/90 %). The PDFs carry matrices the knowledge file does not transcribe (buses, trucks, trailers, machinery at three deductibles). Nothing structural changes; the ask is „new numbers from 01.01.2026".

Intake. Root: task = tariff change on existing products, stage set S1 → S2, deployment set abacus only. Environment path per D123 for the policy-administration line: the working environment is local/dev, the first target is bulstrad-staging (TEST) — customer-facing, so H4 + H5 — then PROD. Two products → two cases or one? Agent Runtime § 11 impact keys are per product/version, so two cases; the operator will want one.

Deployment. 71 version inserts + rating files + compile per version; on PROD, genRuleTable resets the running engine's cache (extract line 3976) — a customer-visible effect during business hours. Effect class: compensable? irreversible? Failure and Recovery § 2 lists cache state as outside rollback but no stage page names the compile as a scheduled/irreversible step. Smoke: getRates read-only against PROD for each template — [ok], computes and stores nothing. H5 = customer-facing environment: [ok] here (D114).

Teardown. Old versions stay DEPLOYED with earlier effective dates; teardown = set new versions back to DONE/delete the rows written. Written policies quoted on the new versions in between are irreversible — name it.

Silence. (E) live-code mapping in S1 without DB; (F) one template per spec; (G) set revision protocol; (H) compile as a production-visible effect with its own effect class.


What this case asked of each stage: S1 in Stage Normalization · S2 in Stage Abacus

CS-3 HelpDesk 00097807 — 3607 „трудова злополука": new clause, loading, minimum premium

The case. Bulstrad (Зорница Йорданова, 16.03.2026 onward) asks for: (1) +50 % loading when ≤5 insured persons, counted across individually entered persons and list counts; (2) minimum premium 30 EUR per policy, message at proposal level, „без опция да се конвертира в полица"; (3) a new optional clause „Временна загуба на работоспособност от избрана ЗС", limit free up to 3 000 EUR, rate 0.15 % — changed mid-thread by the board to 5 000 EUR and 0.1 %; later (4) all groups on one policy must carry identical covers; (5) the ЗС of the new clause must be identical across groups; (6) the short-term tariff split into ticket 102052; (7) override of the minimum only for named users (Зорница, Валя, Захариев) — later withdrawn to „message + proposal stays proposal, only we may convert". Category: „ИНСИС > Продукти: конфигурация/промяна" — 3607 lives in both INSIS (Матрица) and IPAL; Ablera implemented in INSIS first, then „при одобрение ще я приложим и в IPAL".

Intake. Root: change to an existing product, dual-system, stage set S1 → S2 → S3 (new cover + LD + definition), S4 (the clause must be selectable — an offer cover row), deployment set abacus+ipal at least; working environment local/dev, first target bulstrad-staging (TEST — which needs the INSIS TEST side too), then PROD (D123); a companion Development sub-case is likely from the start. [resolved 02.09.2026 — D57] The intake of a HelpDesk ticket brings a named reporter, three named employees as a requirement („only Зорница, Валя, Захариев may convert"), and eleven policy numbers (3607260100000015 …); personal data is removed at intake — identifiers and detected names are handle-substituted at the connector before storage, the case is operator-agnostic; only material that is personal data is rejected as wrong input (Configuration Details CG-9).

INSIS side. Ablera changed INSIS first (Forms/PL-SQL rules, CFG_GEN_COVERS clause × perils for the new clause, HT_INSR_TYPE untouched). [closed by Stage IPAL § The INSIS side / D85] No configuration stage writes INSIS; the contract and seam are one PL/SQL script, recorded as a named deliverable with an owner. For a dual-system product the order matters (INSIS first so the transfer has a target), but no INSIS connector or teardown checklist belongs to this module.

H3. The customer tested on TEST across two months with real-looking policies and found the group-count bug and the short-term miscalculation. In v2 the policy skill asserts the persisted structure but the premium assertion belongs to S2's worked examples — which for a per-person count need examples with 1, 5, 6 persons split across groups. Stage Abacus: „the plan names the expected premium per worked example" — [ok] if S1 wrote those examples; the ticket gives none until the customer's xlsx arrives (3607_Tariff_TESTS_16032026.xlsx) — an unresolved[] „no worked examples in source" should block H1.

Silence. (I) CG-9 scope on HelpDesk intake; (J) per-cover chosen sum shape; (K) checks/validations have no stage; (L) INSIS side has no stage, connector, grant or environment pairing.


What this case asked of each stage: S1 in Stage Normalization · S2 in Stage Abacus · S3 in Stage IPAL

CS-4 HelpDesk 00098747 — 2214/2215 promo „65 години Булстрад": pay 60 months, get 65

The case. Home products 2214/2215: for the campaign, term 65 months, premium for 60; everything else unchanged. Also „трябва да го има и в Матрица" (INSIS/PORTAL channel). Closed ticket — Ablera delivered.

Intake. Root: packaging/term change on existing products, time-boxed. Stage set: S1, S3 (duration factor values — DURATION/DURATION_DIMENSION lists come from PR_PRICING_FACTOR_DEPENDENT), S2 (a version where 65 months prices as 60: either a rate condition on duration or an LD of −5/65 on the annualised premium — the honest reading is a tariff constraint „premium(65) = premium(60)"), S4 (a promo offer? the ticket does not ask for a package; the existing offers stay). Deployment set abacus+ipal. Working environment local/dev; first target bulstrad-staging (TEST), then PROD (D123).

Матрица. The PORTAL channel skips IPAL's checks (field_validation_frameworks.md); the 65-month rule must exist in INSIS too. Same as gap L.

Teardown after the campaign. The campaign ends; the 65-month value must stop being offered while issued 65-month policies stay valid. CG-8 makes reversal first-class and H7 gates it. [closed by Configuration Module § 3] Time-boxed configuration is a case type with an end date, a scheduled H7, and a teardown that distinguishes „stop offering" from „remove".

Silence. (M) closed constraint enum; (N) time-boxed configuration and scheduled reversal; (L) again.


What this case asked of each stage: S1 in Stage Normalization · S2 in Stage Abacus · S3 in Stage IPAL · S4 in Stage Offer

CS-5 Product 8000 „Здравна грижа" — packages × levels × options, cover modes, a Camunda process, CG-9

The case. 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. Suppose Bulstrad Life asks for a new package „Extra Care Plus" with a fourth level, or a second health product.

Intake. The health line works on QA and ports to master, with the planned bulstrad-prod-2 as its eventual target (D123); stage set full; deployment set abacus+ipal+offer; process: existing health BPMN — S3's pre-check must establish whether it is product-parameterisable. It is not: HealthBasicProductId=8000 is a constant (bst_health generic guide § 0). A second health product is Development work before S3 can start — a legitimate Hd at plan time. [ok] (Stage IPAL: „no is a deploy boundary → Hd, never a forced near-fit").

CG-9. The handover corpus's tariff worked example (UAT workbook Tariff HC_Bulstrad.xlsx) and the census sheets contain member names, dates of birth and ЕГН; the template's premium sheet defines a census list as the rating input (Пол, Дата на раждане, …). [resolved 02.09.2026 — D57] Worked examples for census-rated products are synthetic (age band, gender, count), marked so; stray identifiers are removed at intake, and only material that is personal data (a real census file) is rejected as wrong input — the stop no longer fires on the corpus.

Silence. (O) census-shaped worked examples vs CG-9; (P) level variants and cover modes have no spec shape; (Q) claims-side ABACUS configuration has no stage or skill.


What this case asked of each stage: S1 in Stage Normalization · S2 in Stage Abacus · S3 in Stage IPAL · S4 in Stage Offer · S5 in Stage Serdica

CS-6 Cargo 1101/1102 — a product that transfers to INSIS, with no INSIS structure in the spec

The case. Bulstrad asks to add HSSC (HelpDesk 00102452 „Добавяне на HSSC по всички кодове по Карго") — a new ICC cover across 1100/1101/1102/1103 — and, separately, a new print variant. Cargo facts: children carry the framework number + 3-digit counter and do not use CFG_POLICY_NO_SEQ; the tariff is a per-framework rate on POL_PREM_RATE (sometimes an absolute amount with rate_dim='V'), not an ABACUS grid; covers ICC_* map to INSIS CARGO* via CFG_MAPPING_COVERS; DOCUMENT_TYPE gates two print sets; policies are foreign-currency native; DUE_DATE reaches O_CARGO.OCGP9 through CFG_MAPPING_FLFLD.

Intake. Root: cover addition on a dual-system family; stage set S1, S3, S4 (offer cover row per product), S5 (labels, print), and the INSIS contract + seam — which are not stages. Deployment set „abacus+ipal" is wrong on its face: there is no abacus work, rating is policy data. [closed by Configuration Module § 3] The deployment set is any subset of stages in dependency order; a family whose rating is not in ABACUS uses „ipal only" or „ipal+serdica".

Transfer as verification. „Issuable" for cargo means transferred to the customer, but the configuration proof ladder ends at issued (Configuration Module § 7.4, D85). [closed by Stage IPAL § The INSIS side / residual: transfer proof is a Support case] The seam deliverable is recorded, and /check-transfer-style verification belongs to Support rather than to a configuration rung.

Teardown. The INSIS side of a test transfer (POLICY, INSURED_OBJECT, GEN_RISK_COVERED, PREM_INST, GL) is not undone by deleting IPAL rows; the SD-1515 recipe shows what a reversal costs (Bulstrad-IT storno + Forms + date shifts). [closed by Stage IPAL § The INSIS side / residual: Support verifies transfer].

Silence. (R) deployment-set vocabulary — status: closed by Configuration Module § 3; (S) tariff required — residual: schema contract; (T) no transferred rung — status: closed by Stage IPAL § The INSIS side / residual: Support verifies transfer; (L) INSIS side — status: closed by D85.


What this case asked of each stage: S1 in Stage Normalization · S3 in Stage IPAL · S5 in Stage Serdica

CS-7 Mid-run discovery — the missing factor and the bundle rate

The case. Two discoveries after H1, both from real material. (a) 9951's Правила за премия: „CM_ASSIST — фиксирана премия по серия на картата и възрастова лента"; the questionnaire has no question for the card series, and the offers hard-wire series С to BASE and Д to FULL. The rating grid keys on a factor the spec's factors[] does not declare. (b) 4704 clause packages: the PDF gives one rate for „Пълно каско" (fire + accident + malicious + theft) while 9951-style IPAL covers are four codes; the customer wants the four covers priced separately on the policy print. The published bundle rate does not tell the split (Stage Abacus § Challenges: „always a question to the human, never arithmetic"). And (c) HelpDesk 00104411: „the answer to Q4 (Гуми limit) must be mandatory when CASCO_R is selected" — a conditional requirement.

What the architecture says. Configuration Module § 7.1: „a stage that needs something its input does not carry raises it as an open question against S1 — it does not infer the value, and it does not reach back into the source documents itself." Agent Runtime § 11: a question parks the affected tasks only; the answer updates the plan revision; verified work is never discarded. Stage IPAL § PF-6: „a conditional requirement in a specification is raised as an open question, never guessed" — and the flat QT_REQUIRED cannot express it, so the eventual answer is Hd (code) or a CFG_FLD_VALIDATION check (gap K).

Walk-through (a). S2 at plan time (phase 2) finds the grid axis CARD_SERIES absent from factors[]. It emits Question to the root: gap = „grid axis CARD_SERIES undeclared", checked = factors[], objects[] attributes, depends = CM_ASSIST rating and the BASE/FULL offers, alternatives = (i) operator factor LIST {С, Д} at policy level, (ii) derived from the offer (BASE ⇒ С) — a constant per offer, (iii) drop CM_ASSIST from the run. [closed by Configuration Module § 7.1] The S1 owner edits product.json, the validator re-runs, the specification gets a revision linked to the question, and the human confirms only the delta at H1a.

Walk-through (b). The bundle split is a business decision (how much of 4.94 % is theft). S2 records not_held_by_rating[]? No — it is held by rating once split. It is unresolved[] blocking for S2, non-blocking for S3 (the catalogue does not need the split). MISSING paper: what = split of clause rate over four covers; why = cover_rates per cover; where = Bulstrad actuary; blocking = S2 yes, S3 no. [ok] the paper shape carries this. The parking rule lets S3 proceed on the catalogue while S2 waits — Agent Runtime § 11 „parks the affected tasks only" [ok]; S3 may start on the factor codes fixed at H1 before the S2 summary exists, and every rate-reading assertion waits for the summary revision it cites. [closed by Configuration Module § 7.1].

Walk-through (c). Conditional requiredness: S3 plans an open question at H2; the operator answers „yes, mandatory when selected". The layer cannot hold it (flat Y/N), CFG_FLD_VALIDATION might (a conditional check with an overrule group), else Hd. The answer path is clear once someone owns checks (gap K). The 4727 policy was registered through Матрица — the check must also exist in INSIS (gap L).

Ledger. Question and Answer records with the gate id; a PLAN revision 2 for S2; the spec artefact hash changes; GATE_DECISION for the re-opened H1 — whichever name it gets.

Silence. (U) post-H1 specification amendment; (V) S3 partial start before the S2 summary.


CS-8 The twelve configuration parts onto five stages

The case. /configure-product proposes twelve parts plus five optional ones and asks scope before writing. The module claims v1 skills are „evidence and seeds … never runtime components" (Configuration Module § 0). Map each part to a stage and see what falls through.

# Part (skill) Tables Stage in v2 Verdict
1 Catalogue PR_BASIC_PRODUCTS/COVERS/COVER_NAMES/COVER_DEF S3 [ok]
2 Screen PR_PRICING_FACTORS/_VALUES/_DEPENDENT, SR_MESSAGES(_LNG) S3 (labels: S5 „owns the label sweep", Stage IPAL facts) [ok]; label ownership split S3/S5 needs one sentence in Configuration Module § 7.1
3 Packages LB_OFFERS, LB_OFFER_COVERS, LB_COVERS_DEF(_RULES) S4 [ok]
4 Cover rules LBRR_* S4 [ok]; schema shape gaps (CS-1 D)
5 Tariff PPA_* + rating files S2 [ok]
6 Tariff request SRD_INTEGR.ABC_CFG_PRICING_FACTORS S2 [closed by Configuration Module § 7.1: ABACUS-side validations and tariff request mapping]
7 Checks CFG_FLD_VALIDATION(_VALUES), CFG_VAL_OVERRULED_GRP, PR_OPERATIONS, CFG_LD_CONFLICTS S3 [closed by Stage IPAL § The protocol here]
8 Contract (INSIS) HT_INSR_TYPE, CFG_GEN_COVERS, CFG_GEN_CONDITIONS, CFG_GEN_PREMIUM_TAXES out of module [closed by Stage IPAL § The INSIS side / D85]
9 Seam CFG_MAPPING_COVERS/_LIMITS/_COVERS_COMM out of module [closed by Stage IPAL § The INSIS side / D85]
10 Numbering CFG_POLICY_NO_SEQ + INSIS sequence + grant + synonym S5 (Purpose text; seed policy_no_generation.md) [closed by Stage Serdica § The surface]; INSIS half out by D85
11 Documents CFG_PRINT_DOCS + INSIS print register S5 (Purpose text) [closed by Stage Serdica § The surface]; INSIS register out by D85
12 Access LT_USER_ROLES, SRD_SYS."Routes" S5 [ok]
opt Commission SRD_PR.CF_COMM_PRODUCTS S3 [closed by Configuration Module § 7.1]
opt Reinsurance SRD_RI S3 [closed by Configuration Module § 7.1]
opt BSO blanks CFG_BLANK_NUMBERS S5 [closed by Configuration Module § 7.1]
opt Questionnaire CFG_QUEST_* S3 [closed by Configuration Module § 7.1]
opt Claims indemnity LBRR_CLAIM_INDEMNITY_DEF out of module [residual: claims-program item, not sales configuration]

Where the skill and the module disagree. The skill's part 2 says „pricing factors (× QT and POL)" and its acceptance check 2 tests for a missing QT row on quote-step products; the module says POL only, no exceptions, and the QT dependency is MISSING. product.schema.json carries no factors[].collected_at_quote key: it was removed on 02.09.2026 together with the POL-only rule (Stage Normalization § WS-2). [gap Y closed 02.09.2026] The skill's rule 2 „core tables are not altered without permission" (the CFG_POLICY_NO_SEQ.PRODUCT_CODE VARCHAR2(4) case) is DDL: the effect applier applies it under HW-ddl with the current D65 stage identity (D104).

Proposal. Superseded by D85: INSIS side is one script, no sixth stage. The explicit ownership rows in Configuration Module § 7.1 cover checks, tariff request, commission, reinsurance, BSO and questionnaire; INSIS-side parts stay named deliverables outside Configuration.


Gap table

# Gap Case(s) Target page Status
A POL-only product on a quote-step wizard: no exit path after MISSING; whether H3 may close at priced CS-1 Stage IPAL § rule; Configuration Module § 2 closed by Stage IPAL § pricing-factor stage rule; residual: Development removes QT path
B S5 surface table omits numbering, print, translations named in its Purpose CS-1, CS-8 Stage Serdica § The surface closed by Stage Serdica § The surface
C H5 = „production" vs „the target environment, named" (phase 8b) CS-1 — closed by D114 (Gating § 1; Configuration Module § 7.2)
D v0 schema drops the PC extract's known shape gaps: conflict groups, LBRR object scoping, LB_COVERS_DEF dim/currency, LD rating/formula/cap/per-LD rule, ld.rate round-trip, ld_constraints, top-level limit_restrictions, documents, annex_types CS-1 Stage Normalization § WS-3; product.schema.json residual: the shape gaps are labelled as schema 1.1 proposals in Stage Normalization § Challenges
E Mapping document covers to live codes for an existing product: no S1 step, no live_code/live_match fields, source analyst has no DB CS-2, CS-3 Stage Normalization § protocol; schema covers[] closed by Stage Normalization § The protocol here; residual: the live_code/live_match fields are a schema 1.1 proposal
F One tariff.template per spec; 4704 has 71 broker templates CS-2, CS-4 Stage Normalization § WS-3; Stage Abacus § The protocol here design settled by Case journeys § 5: template work items, single-template leaf specs, bounded S2 fan-out and complete result matrix; target execution remains to be proven
G Deployment-set revision mid-case (tariff change needing PR_OPERATIONS): who re-opens which gate, which skills then run on target CS-2 Configuration Module § 3 closed by Configuration Module § 3
H genRuleTable compile resets the engine cache on the target — effect class and scheduling unnamed CS-2 Stage Abacus § Scripts/deploy; Failure and Recovery § 2 residual: first multi-replica deployment settles invalidation call
I CG-9 scope: reporter names, employee names as role holders, test policy numbers in HelpDesk intake would stop every ticket-sourced case CS-3 Trust and Data § 4; Configuration Details CG-9 closed by D57 / Configuration Details CG-9
J Per-cover selectable sum insured: IV_COV* „has no case in the generator"; which shape a chosen limit takes is unstated CS-3, CS-7 Stage IPAL § PF-2/§ PF-8 residual: first per-cover IV product settles shape
K Checks/validations (five frameworks) owned by no stage CS-3, CS-7, CS-8 — closed by Stage IPAL § The protocol here
L ~~INSIS side of dual-system products has no stage~~ — settled 03.09.2026 (D85): it is not configuration work. One PL/SQL script run once per product, recorded as a named deliverable with an owner; no sub-stage, connector, grant scope, pairing or teardown checklist, and the ladder ends at issued CS-3, CS-4, CS-6, CS-8 Stage IPAL § The INSIS side closed by D85
M tariff_constraints.kind closed enum lacks bonus-term, group-size gating CS-4, CS-5 product.schema.json residual: an open kind string with params is a schema 1.1 proposal in Stage Normalization § Challenges
N Time-boxed configuration: end date, scheduled H7, „stop offering" ≠ „remove" CS-4 — closed by Configuration Module § 3
O Census-rated products: worked examples are personal-data-shaped by design; normalizer needs a refuse-list, not a stop-on-first-ЕГН CS-5 Trust and Data § 4; Stage Normalization closed by D57 / Stage Normalization § The protocol here
P Level-variant child covers and consumption modes have no spec shape; distinct-code counting rule does not decide CS-5 Stage Normalization § WS-3/§ WS-5 residual: schema 1.1 proposal until first real input set
Q Claims-side ABACUS rule sets (SRVPRICE#, CLMIND#) — configuration with no stage, skill or summary field CS-5 Stage Abacus § Purpose; Data & Manipulation Module § 0.2 residual: claims-program item, not sales configuration
R Deployment set is three fixed names; „ipal only"/„ipal+serdica" needed for non-ABACUS-rated families CS-6 Configuration Module § 3 closed by Configuration Module § 3
S tariff is not required by the schema (product.schema.json:7 root required = schema_version, meta, covers, factors, reconciliation, unresolved); what holds is that when tariff is present, cover_rates is required — cargo has no tariff CS-6 product.schema.json closed — verified against product.schema.json:7; residual: meta.rating_owner naming who rates is a schema 1.1 proposal
T Proof ladder has no transferred rung; no transfer skill; INSIS teardown CS-6 — closed by Stage IPAL § The INSIS side; residual: the Data & Manipulation module verifies the transfer (D144)
U Post-H1 specification amendment from a later stage: gate name, who edits product.json, re-validation, revision linkage CS-7 — closed by Configuration Module § 7.1
V May S3 start on the spec before the S2 summary exists (the 9951 s2_bootstrap reality) CS-7 — closed by Configuration Module § 7.1
W ABC_CFG_PRICING_FACTORS (tariff request) owned by neither S2 nor S3 CS-8 — closed by Configuration Module § 7.1; D121 — a dedicated abacus–insis sub-agent of the Support module works the map, S2 consults it only for INSIS-priced products
X Commission, reinsurance, BSO, questionnaire, claims indemnity — configuration objects the module never names CS-8 — closed by Configuration Module § 7.1; residual: claims indemnity out of sales configuration
Y Schema factors[].collected_at_quote „drives whether S3 writes a QT row" contradicted the POL-only rule CS-8 — closed 02.09.2026 — the key was removed with the POL-only rule and the schema carries none (Stage Normalization § WS-2)
Z Two configuration cases on one working environment: shared rows (LT_LD_CODES, SR_MESSAGES, global factor values, LB_OBJECT_NA) and the engine cache are outside product-scoped impact keys CS-1, CS-2 — closed by Configuration Module § 3 shared impact keys
AA „The human" at H3 for an insurer-initiated case is the customer's business user, who holds no platform role (roles map to Ablera LDAP) CS-3 Trust and Data § 3; Configuration Module § 2 closed by Configuration Module § 3 customer at H3
AB DDL (widening CFG_POLICY_NO_SEQ.PRODUCT_CODE) is neither a grant mode nor a stage target; the skill's rule 2 has no v2 home CS-8 Trust and Data § 2 closed by D104 wording in Configuration Module § 7.1

Coverage

Exercised. Configuration Module § 7.1 consume/produce for S1–S5 (CS-1) and „raise against S1, never infer" (CS-7); § 7.3 assertion form (CS-1, CS-2); § 7.4 done test items 1–5 and the proof ladder (CS-1, CS-6); § 7.5 no writes outside own targets (CS-2), no shared row (CS-4), no invention (CS-7), no personal data (CS-3, CS-5), no unilateral code (CS-3); § 7.6 one author/one domain (CS-8). Gates: H1 (all), H2 (CS-1, CS-3, CS-7), H3 (CS-1, CS-3), H4/H5 (CS-1, CS-2), H6 (implied in CS-7 only), H7 (CS-1, CS-4, CS-6), Hd (CS-1, CS-3, CS-5, CS-7). Rules: CR-2, CR-3, CR-7, CR-8 (CS-3 intake content), CR-9 (CS-2 compile). Stage Abacus § SUM-1…SUM-6 fields (CS-1, CS-2). Stage IPAL § PF-2 axes 1–10 and § PF-9 order (CS-1, CS-3, CS-4). POL-only rule and remark (CS-1, CS-8). Layer model and reconciliation (CS-1, CS-2). Contradiction-as-question (CS-3, CS-5). Parking (CS-7). Deployment sets abacus-only (CS-2), full (CS-1), „ipal only" (CS-6). Failure and Recovery § 2 effect classes (CS-2, CS-6), § 5 exemption test (CS-2).

Never exercised by these cases. Configuration Module § 7.6 per-stage eval sets and the round-trip golden set (§ 6) — no case exported a selling product; Agent Runtime § 2 budget thresholds and § 6 compaction; Failure and Recovery § 3 worker death / poisoned resume; Failure and Recovery § 1 shape B (leased transaction) — every write here fits shape A; Agent Framework § 6 prompt lifecycle; Agents § 0 auto-learning a domain; Agent Runtime § 11 session handover between operators; the validator profile's isolation (assumed, not tested); the depth of Trust and Data § 4 — configuration substitutes handles at intake like every module (D57), but no case here exercised a handle map across a module boundary; Stage Offer's rule-combination sampling challenge; the S2⇄S3 „needs minimal catalogue first" loop as a planned step rather than the s2_bootstrap fact.