Skip to content

feat(cli): expose Archera comparison filters already available in MCP #2264

Closed

Description

@cristim

Summary

The explicit archera-comparison CLI command currently sends only ComparisonRequest.PlanID. The MCP comparison tool already exposes line-item, contract-term and payment filters supported by the same shared insurance client.

Expected behavior

Add --line-item-ids, --contract-terms and --payment-options to the existing read-only command, with the MCP bounds (200 UUIDs, supported term count, three payment options) and exact shared enums. Accept repeated flags and comma-separated entries. Omission preserves existing behavior; explicit empty/invalid or over-limit input fails before any vendor request. Error output must not echo user values or secret material.

Scope and existing caller

This is an explicit operator command narrowing a vendor comparison. Use the already pinned pkg/insurance ComparisonRequest; no dependency bump, matcher or new abstraction is required. IDs belong to Archera, not to platform recommendation rows. This does not claim per-recommendation association.

Verification

Drive the real root command and real insurance.Client with intercepted synthetic transport. Assert GET path/auth and repeated query values, omission controls, malformed/empty/repeated-empty and exact bound cases making zero HTTP requests, output redaction, help without calls, and flag state reset across repeated executions. Preserve existing rendering and disclosures. Run pinned build, unit/race, vet/lint, normal hooks, two independent Sol High reviewers each two passes on current head, and CI.

References and triage

Companion to LeanerCloud/cloud-commitments-platform#799 and #786. Existing CLI #2156/PR #2166 delivered plan-wide comparison; #2171 and #2259 track different issues. No live vendor calls, purchase, scheduling, deployment or credential changes.

Activity

  1. self-assigned this
    on Oct 18, 2026
  2. cristim commented on Oct 18, 2026

    @cristim
    MemberAuthor

    Claiming: resume-cc-audit, scoped CLI/MCP Archera comparison-filter parity under the owner-authorized completion goal. Plan review first, then an isolated worktree; existing checkpoints and unrelated CLI issues remain untouched. [resume-cc-audit]

  3. cristim commented on Oct 18, 2026

    @cristim
    MemberAuthor

    Session: resume-cc-audit

    Merged #2265 normally as 021f16279c119effc261bbc08e560c27f67594a5. Its full tree 9026b1296c5c46cda90d336ae73abf077aeb9c2e exactly matches the reviewed and tested head 28574f7d54be0e43b38a374b88bc31a5b8940a06.

    Verified:

    • Two independent Sol High reviewers each completed two adversarial passes, closed the findings and approved the exact head. Reviewer A independently reproduced the real root-command/shared-client focused race run: 31 top-level tests, 206 including subtests.
    • Seven positive filter scenarios failed on the parent with unknown flags; the omission control passed. Final full race suite passed 471 top-level tests. Build, vet, pinned lint and normal hooks passed.
    • Completed CodeRabbit review covered the exact head with no actionable comments. Required PR CI passed.
    • Post-merge CLI help shows all three filters and the actual 74-term limit. Post-merge main runs CI and pre-commit both passed.
    • Report-first, exact-branch gated cleanup reclaimed the clean worktree and local/remote feature refs under reclaim and push locks. The session-built binary was preserved separately; detached and ambiguous recovery work remained untouched. Final report: zero eligible items.

    This completes the filter-parity issue. Tests use intercepted synthetic responses; no live vendor call, purchase, installation or deployment was performed. Real recorded-response acceptance remains tracked by platform #798; recommendation integration remains platform #799.

    Follow-up issues filed: none for this filter change, confirmed against the follow-up checklist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions