propose_takeoff
Open a named proposal to group pending shapes into one batch, so estimators accept the whole takeoff with a single decision instead of shape by shape.
Instructions
Open a PROPOSAL — a named batch of the shapes you are about to commit, with one identity (#365). Every shape you commit from here on (measure_polygon, measure_line, measure_surface, place_count, the sweeps, the derives, cut_out) attaches to it until you open another proposal or withdraw this one; the estimator then sees ONE Accept pill for the whole batch instead of one per shape — a forty-room pass becomes one decision, not forty. Use it BEFORE the work, the way an estimator titles a takeoff before tracing: "Level 2 rooms per finish schedule A-601", "Base derived from CPT-1 rooms". label is what the estimator reads on the pill; rationale is what decided the batch (the schedule row, the sheet, the rule) — both required, neither is a comment. Nothing here commits geometry or changes a total: an empty proposal is just a heading. The batch is what revise_proposal replaces and withdraw_proposal removes; shapes the estimator has already accepted leave the batch and no agent verb reaches them. takeoff_summary carries the ledger (pending / accepted / withdrawn per batch).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | The batch's title, as the estimator will read it on the Accept pill | |
| rationale | Yes | What decided the batch — cite the schedule row, sheet, or rule |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | ||
| label | Yes | ||
| rationale | Yes | ||
| proposal_id | Yes |