Tags: chiam-ck/bss-cli
Tags
v1.8.1 — returning-customer signup resume A linked portal identity no longer implies KYC + card-on-file: the signup chain reads actual state (crm kyc-status + payment methods) and resumes at the first incomplete step instead of jumping to the order and dying on order.create.no_payment_method. Second-line shortcut preserved for genuinely-complete customers. Customer-facing copy added for the no-payment-method, kyc.declined/expired and invalid-card rules that previously fell through to the generic apology.
v1.8.0 — Branding customization Operator name, theme (6 dark palettes), and logo become config: cockpit Branding screen + bss branding CLI, [branding] in .bss-cli/settings.toml, hot-reloaded across both portals, emails, chat greeting and the REPL banner. Version demoted to product- attribution footnotes. New bss-branding package; DECISIONS 2026-07-05; phases/V1_8_0.md.
v1.5.0 — multi-step cockpit orchestration + BSS_REPL_LLM_AUTONOMY
Operators can now ask compound questions ("investigate CASE-…",
"register CUST + create order", "show customer and their
subscriptions") and the cockpit agent chains the work. New
BSS_REPL_LLM_AUTONOMY env var controls how many /confirms a compound
destructive action needs (granular default, batched opt-in).
Five pieces:
- BSS_REPL_LLM_AUTONOMY env var, fail-closed at boot
- Autonomy-aware destructive gating (granular re-gates after first
destructive; batched authorises the loop)
- ITERATIVE FLOW prompt block + softened v0.19 "Done." rule
- 3-strike loop bail for tool-failure thrash
- Cockpit chrome filter — strips banner + narrated-call mimicry from
both history rehydration and live emits; bubble overrides so post-
propose / post-execute show what they mean instead of "Done."
No new container, no schema, no migration (head stays at 0030).
Design lifted from loyalty-cli v0.11; adapted for bss-cli surfaces.
Verified: orchestrator 403→420, bss-cockpit 66→95, cli 127 — all
green. make e2e + make e2e-batched both green (12/12, 1 skipped per
mode). Live REPL retest end-to-end through terminate → /confirm →
state=TERMINATED.
PR: #43
v1.4.1 — All four v1.4.0 xfails resolved, visual artefacts
10/10 e2e specs green (was 6/10 + 4 xfail). Every run now produces a
visual gallery (docs/e2e-reports/<UTC-ts>/index.html) with per-spec
screenshots + Playwright trace.zip + video.webm, plus a hero/summary
table built from junit.xml so the overall result is one-glance.
Two new architectural pieces:
- bss promo exhaust — admin FSM verb (active → exhausted). Migration
0030. Real operator verb, not just an e2e hook.
- BSS_LLM_FIXTURE_PATH — orchestrator/bss_orchestrator/llm_mock.py
MockChatModel (BaseChatModel subclass). Scripted LLM responses for
deterministic cockpit specs. Tools still execute real.
See: https://github.com/samurai-bot/bss-cli/releases/tag/v1.4.1
v1.4.0 — Playwright e2e suite 6 specs green, 4 deferred xfail (LLM determinism + admin exhaust verb). Bundles v1.3.2 doctrine refactor (demo seed loyalty token via CLI flags) which was merged but never tagged separately. make e2e brings up the stack in mock-providers mode, runs the suite, tears down, restores the normal stack. ~23s wall-clock. See: https://github.com/samurai-bot/bss-cli/releases/tag/v1.4.0
BSS-CLI v1.3.0 — Customer↔offer pairing upfront `bss promo assign` mints the loyalty customer↔offer pairing at assign time (`offer.issue`), making operator views in loyalty match BSS eligibility the moment the operator acts. Activation switches to `offer.advance_to_claimed` for the targeted lane (the v1.1.1-retired path is back, only for this lane). Public typed codes continue mint-and-claim by code, unchanged. Bundles a v1.2.x schema fix: partial unique on subscription.msisdn / iccid that excludes terminated rows, so inventory can legitimately recycle phone numbers without bricking the next order at subscription.create. 1823 tests green.
PreviousNext