Skip to content

threads-uqx.7: Cave contract amendment — ProposalView for Phase-5 approval paths, blocked fixtures for veto states #12

Description

@BunsDev

Bead: threads-uqx.7
Phase: 5 — Approval semantics over the Phase-2 Ward
Spec: specs/PHASE-5-APPROVAL-SEMANTICS.md §6 decisions 6/7, Phase 4 §4
Depends on: #11 (uqx.6 daemon integration — must have release evidence first)

Scope

Amend the Cave ProposalView contract after daemon read models from threads-uqx.6 exist. This bead starts as [DESIGNED, NOT SHIPPED] and may not open until #11 is complete.

Deliverables

  • ProposalView extended with: approval_path (variant + display label + optional veto_deadline), affected_regions descriptors, window state (pending | approved | vetoed | expired | rejected)
  • Blocked/veto state fixtures: unknown or stale veto state renders as blocked under Phase-4 §4 rules (no optimistic UI)
  • Cave receives {variant, label, veto_deadline} from daemon; zero policy freedom over label strings — renders exactly what daemon emits (decision 7)
  • Confirmation that ProposalView for Phase-5 approval states cannot be constructed from Cave-side state alone

Constraints

Does not include

  • Daemon scheduler or type design (upstream beads)
  • Nova sign-off (threads-uqx.9) — covers this bead's output

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions