Skip to content

W15: W15: Pax8 tools — status, subscriptions, products, orders (submit four-eyes) #6785

Description

@ToddHebebrand

Wave W15 of #6754 — W15: Pax8 tools — status, subscriptions, products, orders (submit four-eyes)
Branch: feature/6754-ai-full-control/wave-6785

Activity

  1. ToddHebebrand commented on Oct 31, 2026

    @ToddHebebrand
    CollaboratorAuthor

    W15 plan drafted. The plan is in PR #10789: docs/superpowers/plans/ai-mcp/2026-10-30-ai-full-control-w15-pax8-tools.md.

    Tools. Four tools; drift is merged into subscriptions.

    • get_pax8_status: t1.
    • search_pax8_products: t1.
    • manage_pax8_subscriptions: list and drift t1; sync, link and unlink supervised.
    • manage_pax8_orders: list, get and preview t1; draft and line edits t2; preflight and reconcile supervised; submit four-eyes.
    • Credential save and test, and company↔org mapping, stay human-only. They are not built in any schema.

    Four-eyes design. The submit asserts the preview's company, its lines and their live-rate costs. A mandatory digest pins every local input of what is sent and billed: lines, company mapping, integration generation, and contract and catalog prices. At release, the handler re-checks the live Pax8 price and commitment terms. It then re-verifies the digest inside the claim transaction, so any drift refuses before anything reaches Pax8. A failed preflight reopens the order rather than killing it.

    Headless agents. Reads are reachable. Writes need an explicit grant, and in practice are unreachable: agent runs are org-scoped and not device-bound, so the device-less deny applies. Submit is never agent-reachable (agent-human-only).

    Split into PR A (everything except submit and reconcile) and PR B (submit and reconcile). No migration. Codex quorum: AGREE WITH CHANGES, with all 12 findings accepted.

    Open Decisions

    1. OD-1: fix the unconditional manual_quantity overwrite during the Pax8 call in PR B, for REST too (approved-baseline CAS). Recommend yes.
    2. OD-2: accept that an AI-submitted cost is a live-rate estimate. Pax8 takes no price on an order; any change refuses. Recommend accept.
    3. OD-3: sign off the escalations from the triage: sync and preflight go from t2 to supervised, and reconcile is classed supervised. Recommend accept.
  2. ToddHebebrand commented on Oct 31, 2026

    @ToddHebebrand
    CollaboratorAuthor

    Gate B — Todd's answers (2026-10-31): OD-1 yes: approved-baseline CAS on manual_quantity, REST path included (PR B). OD-2 accept: AI-submitted cost is a live-rate estimate; any price or commitment-term drift between preview and release refuses the submit. OD-3 accept: sync and preflight supervised, reconcile supervised, submit four-eyes. plan-approved applied; PR A dispatching.

  3. ToddHebebrand commented on Oct 31, 2026

    @ToddHebebrand
    CollaboratorAuthor

    PR A #10827 merged → 154adeb (four Pax8 tools: get_pax8_status, search_pax8_products, manage_pax8_subscriptions list/drift/sync/link/unlink, manage_pax8_orders list/get/create_draft/add_line/update_line/remove_line/preview/preflight; sync + preflight supervised per OD-3; nothing billable sent). PR B (submit four-eyes with pinned digest, reconcile supervised, OD-1 approved-baseline CAS on manual_quantity incl. REST) starts now on feature/6754-ai-full-control/wave-6785-b from main; it carries Closes #6785.

  4. ToddHebebrand commented on Oct 31, 2026

    @ToddHebebrand
    CollaboratorAuthor

    PR B plan amendment B1 (orchestrator, 2026-10-31): the OD-1 approved-baseline CAS needs a durable baseline for every line action, but pax8_order_lines_authorized_baseline_chk (2026-07-16) restricts authorized_baseline_quantity to change_quantity lines, so cancel and quote-created new lines could not carry it across a timeout into reconcile. PR B adds one migration 2027-01-18-120000-pax8-order-line-baseline-any-action.sql that re-creates the CHECK as IS NULL OR >= 0; claimOrder then records the linked contract line's manual_quantity for every claimed line inside the claim transaction, and both persist paths CAS against it (conflict → billing_conflict, remote outcome kept, never overwritten). No new column; export policy unchanged.

  5. ToddHebebrand commented on Oct 31, 2026

    @ToddHebebrand
    CollaboratorAuthor

    PR B opened: #10832 (four task commits replayed from the Codex run + main merge; 51 files / 2,829 tests green locally; typecheck 0; index delta +1 B; migration 2027-01-18-120000-pax8-order-line-baseline-any-action.sql per B1). Review round running. It carries Closes #6785.

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

Metadata

Metadata

Assignees

Labels

in-progressWave currently being implemented on a branchplan-approvedplan-draftedwaveImplementation wave sub-issue of a feature

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions