lib-domain-tailor zero-budget semantic-index
lib/domain tailor (unit)
Pin the tailor pipeline internals: recipient stripping in the CL path, the Node-tree walker that bridges canonical and serializer shapes, the byte-equal prompt regression that catches silent drift in prompt assembly, the prompt-builder, and the variant-sync that promotes/edits back into the quarry without losing variants.
Behaviours 0 Tests 46 Graph 47 nodes · 46 edges Runner - CircleCI - Source qa/suites/lib-domain-tailor.yaml
Test witnesses
These tests belong to the suite. Missing implementation links stay visible until a code-backed graph claim records them.
| Test | Status | Implementation | Open |
|---|---|---|---|
handles empty/undefined input @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
is case-insensitive @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
preserves real names @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
preserves real titles @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
strips German placeholders @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
strips common English placeholders @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
strips non-answer values @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
strips values with trailing punctuation @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
trims whitespace @cv/domain · vitest · tests/strip-recipient.test.ts | catalog | missing implementation link | Test |
does NOT synthesize data.variantGroup on a solo FIXED section @cv/domain · vitest · tests/tailor-node-bridge.test.ts | catalog | missing implementation link | Test |
preserves FIXED section data byte-for-byte through the round-trip @cv/domain · vitest · tests/tailor-node-bridge.test.ts | catalog | missing implementation link | Test |
preserves root.data fields that are not groupState @cv/domain · vitest · tests/tailor-node-bridge.test.ts | catalog | missing implementation link | Test |
preserves the original kind and children for FIXED list sections @cv/domain · vitest · tests/tailor-node-bridge.test.ts | catalog | missing implementation link | Test |
tailor projection does not emit root.data.groupState @cv/domain · vitest · tests/tailor-node-bridge.test.ts | catalog | missing implementation link | Test |
writes grouped sections as variant-pool nodes without data.variantGroup @cv/domain · vitest · tests/tailor-node-bridge.test.ts | catalog | missing implementation link | Test |
writes list items, bullets, and subs as node children with variant-pool wrappers @cv/domain · vitest · tests/tailor-node-bridge.test.ts | catalog | missing implementation link | Test |
CL-en tailor: every emitted prompt matches the committed fixture @cv/domain · vitest · tests/tailor-prompt-byte-equal.test.ts | catalog | missing implementation link | Test |
CV-en tailor: every emitted prompt matches the committed fixture @cv/domain · vitest · tests/tailor-prompt-byte-equal.test.ts | catalog | missing implementation link | Test |
formats critic budget with page units @cv/domain · vitest · tests/tailor-prompts.test.ts | catalog | missing implementation link | Test |
keeps A4 wording for a4 format @cv/domain · vitest · tests/tailor-prompts.test.ts | catalog | missing implementation link | Test |
uses Letter in the critic prompt for us-letter format @cv/domain · vitest · tests/tailor-prompts.test.ts | catalog | missing implementation link | Test |
uses Letter in the refine prompt for us-letter format @cv/domain · vitest · tests/tailor-prompts.test.ts | catalog | missing implementation link | Test |
uses Letter in the shared system prompt for us-letter format @cv/domain · vitest · tests/tailor-prompts.test.ts | catalog | missing implementation link | Test |
LLM-picked groups override prior state (re-tailor is authoritative where the LLM speaks) @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
accepts a valid single-from-each-group pick @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
assigns every quarry group an entry, even if untouched @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
creates default included entries for kept subheading and sub groups on a fresh tailor @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
detectVariantViolations flags exactly the retry scenario @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
does not flag a single pick from a multi-member group @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
does not flag solo groups (1 member) @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
flags multiple groups independently @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
flags three picks from the same multi-member group @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
flags two picks from the same multi-member group @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
groupState invariant holds even when LLM ignores the retry @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
handles empty picks @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
handles solo groups correctly @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
ignores bullets of non-kept items (they never render) @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
ignores out-of-range picks silently (caller filters first) @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
invariant: if the LLM somehow kept two from one group, only the first-kept is active @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
marks a single-variant selection as included with correct active position @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
preserves subheading and sub-group state across re-tailor @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
preserves the prior active + included for untouched groups when priorGroupState is supplied @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
returns empty for non-list sections @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
text comparison is case-insensitive and trimmed @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
tracks bullet-level variant groups per kept item @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |
without priorGroupState, falls back to the old default-excluded behaviour @cv/domain · vitest · tests/tailor-variant-sync.test.ts | catalog | missing implementation link | Test |