atisbo_decide
PM decision facade. CURATE: evidence review/grouping, deal-breakers. EXECUTE: create, update, dispatch or delete Solutions, record Outcomes. DOCUMENT/GOVERN: living docs, coverage, schedules, knowledge, strategy. log_decision is only for external decisions; mutations log themselves. Writes require UUIDs. mode=declare_pm_exception marks a CLAIM as needing a human decision (SEN-180).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Entity UUID — delete_knowledge: doc id from atisbo_lookup knowledge. | |
| mode | Yes | Resolve names to UUIDs before mutating; mode-specific notes return in meta.guidance. | |
| note | No | Rationale or audit note. | |
| spec | No | Structured spec for apply_solution_spec. | |
| brief | No | dispatch_solution: context/brief handed to the agent. | |
| force | No | True confirms a reassignment that would soft-delete the emptied source claim; without it the call fails CONFIRMATION_REQUIRED. | |
| title | No | Title; the new title when renaming. | |
| effort | No | Size estimate in person-weeks (0.5-52). Sizing only — it does not affect Backlog order. | |
| matrix | No | validate_delivery: one entry per success criterion (see implementation_context). ≤20 entries. | |
| pr_url | No | GitHub PR URL. | |
| status | No | set_claim/snippet_status: target classification. | |
| claimId | No | Alias for claim_id. | |
| comment | No | update_solution: report posted to the thread as the agent, visible to teammates. | |
| mission | No | update_strategy: informational note only — not scored or used in prompts. | |
| node_id | No | Optional map node to attach a new solution to. | |
| outcome | No | record_outcome: impact of this launch. Does not reopen the Solution. | |
| roadmap | No | update_strategy: informational note only — not scored or used in prompts. | |
| verdict | No | mode=triage: BOTH values close the claim — see guidance. | |
| claim_id | No | Claim UUID — resolve names with atisbo_lookup mode=resolve first | |
| decision | No | Decision value/verdict for log_decision. | |
| strategy | No | update_strategy: the only functional field — drives alignment scoring/prompts. | |
| unassign | No | update_solution: clear the item's owner. | |
| claim_ids | No | ||
| kpi_after | No | ||
| lifecycle | No | Solution stage: IDEA, DESIGNING, IN_DEVELOPMENT, or LAUNCHED. | |
| target_id | No | Generic target UUID for decision logging. | |
| agent_name | No | Signs comments, assignments and logged decisions; without it they credit the key owner. Default "Agent". | |
| kpi_before | No | ||
| risk_notes | No | check_coverage: acknowledge unresolved contradictions by id. 50 notes ×1000 chars. | |
| snippet_id | No | Snippet UUID for reassignment or claim creation. | |
| solutionId | No | Alias for solution_id | |
| updated_at | No | Optimistic lock from your last read; concurrent edits fail with STALE_DATA. | |
| description | No | Solution description. ≤2000 chars. | |
| document_id | No | update_artefact_schedule: living doc UUID. | |
| instruction | No | create_living_doc/create_solution_doc: preferred structure. | |
| observed_at | No | record_outcome: when the evidence was observed. | |
| review_kind | No | mark_reviewed: which review kind to checkpoint. | |
| rice_effort | No | Alias for effort (legacy column name). | |
| snooze_days | No | Pause on Board for N days. | |
| solution_id | No | Solution UUID — resolve names with atisbo_lookup mode=resolve first | |
| target_type | No | Target entity type for log_decision. | |
| alternatives | No | ||
| out_of_scope | No | check_coverage: ids intentionally NOT addressed. 100 ids ×128 chars. | |
| product_name | No | ||
| snooze_clear | No | Wake a snoozed solution now. | |
| clear_discard | No | update_solution: lift the discard mark; lifecycle unchanged. | |
| covered_ideas | No | check_coverage: idea ids from the coverage map. 100 ids ×128 chars. | |
| decision_type | No | Canonical decision type for log_decision. | |
| evidence_refs | No | record_outcome: durable post-launch evidence references. Required downstream. | |
| main_features | No | ||
| outcome_notes | No | record_outcome: alias for `note`. | |
| assign_node_id | No | update_solution: assign to a taxonomy node; surfaces under claims anchored there. | |
| covered_claims | No | check_coverage: claim ids this work implements. 50 ids ×128 chars. | |
| design_context | No | Design reasoning seeding the living document. | |
| discard_reason | No | update_solution: marks this CANCELED solution a discarded divergence loser (ADR-224). Requires lifecycle CANCELED here or earlier. | |
| force_reassign | No | dispatch_solution: take over a Solution another agent holds in progress; recorded on the audit trail. Omitting it refuses a contested dispatch naming the holder. | |
| metric_current | No | record_outcome with an automated verification method: fresh reading of the bound metric, as a number. | |
| priority_boost | No | update_solution: PM multiplier (0.5-5.0, default 1.0); the lever that moves Backlog order. | |
| assign_to_agent | No | update_solution: take ownership as this agent; overrides an existing assignee. | |
| effort_estimate | No | Initial effort estimate in person-weeks. | |
| is_deal_breaker | No | flag_deal_breaker: true = flag claim, false = unflag. | |
| target_claim_id | No | Destination claim for snippet reassignment. | |
| attach_claim_ids | No | update_solution: attach more claims covered. | |
| detach_claim_ids | No | update_solution: remove non-primary claim attachments | |
| refresh_schedule | No | update_artefact_schedule: cadence | |
| criteria_left_out | No | update_solution: criteria this launch leaves OUT (ADR-234). Only with lifecycle=LAUNCHED. | |
| expected_behavior | No | check_coverage: observable behavior delivered. 50 strings ×500 chars. | |
| chosen_solution_id | No | update_solution: the sibling that won, when discard_reason names it. | |
| clear_pm_exception | No | update_solution / declare_pm_exception: lift the PM exception. | |
| outcome_confidence | No | record_outcome: confidence in the classification. | |
| pm_exception_reason | No | update_solution / declare_pm_exception: needs a PERSON decision (ADR-222, SEN-180 for claims); not ops — see operational_block_reason. | |
| verification_method | No | record_outcome: how the external agent verified the observed result. Required downstream. | |
| contradictions_found | No | record_outcome with an automated verification method: attest you swept the covered claims for contradictory evidence. | |
| outcome_classification | No | record_outcome: alias for `outcome`. | |
| clear_operational_block | No | update_solution: lift it. | |
| criteria_left_out_reason | No | update_solution: why each is out. Required with criteria_left_out. | |
| operational_block_reason | No | update_solution: OPERATIONAL blocker; pair with operational_block_category. Not a decision. | |
| operational_block_category | No |