ShrubberyDocs
Concept

Counter-Offer

A Knight-initiated proposal of different terms while a Shrubbery is still awaiting Handshake.

01 · Definition

Definition

A Counter-Offer is when the Knight (assignee) changes the objective and/or deadline on a Pending_Handshake row and asks the Lead to accept those terms instead. The row stays Pending_Handshake with pending_counter_offer = true until the Lead accepts or the path is otherwise resolved.

Avoid: renegotiation (that is Lead-initiated on an Active row), edit, pushback.

02 · Role

Role

Counter-Offer keeps consent two-sided when the original terms do not work for the assignee. Unlike Lead Renegotiation, the Knight cannot counter an already-Active commitment — only a pending proposal. The audit trail reuses event type renegotiated with initiator: 'knight' so timelines stay unified without a separate event enum.

The Lead accepts via the Garden/Oversight actions (acceptCounterOffer), which moves the row to Active on the counter terms. There is no dedicated "reject counter-offer" action: the Lead can re-edit terms (clearing the flag) or the Knight can refuse the whole commitment.

03 · Lifecycle

Lifecycle

  • Proposed — Knight patches task/deadline on Pending_Handshake; pending_counter_offer set; Lead notified (counter_offer_proposed).
  • Standing — badge on the Lead's card; row still pending consent.
  • Accepted — Lead accepts → Active, flag cleared; audit accepted with via: 'counter_offer'.
  • Superseded — Lead edits the row; counter flag clears.
  • Abandoned — Knight refuses → Refused; flag clears.
04 · Related

Last updated: 24 July 2026