feat: reconcile granted ops run closes

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06bfe-2a55-7ed3-bacd-879977b099bf
This commit is contained in:
tegwick 2026-09-04 12:57:12 +02:00
parent b72fdb5452
commit b63131e863
21 changed files with 1240 additions and 43 deletions

View file

@ -156,7 +156,14 @@ class OpsRun(Base):
# Attribution refs carried through from workforce/leadership vocabulary;
# activity-core does not author or interpret them.
execution_refs: Mapped[dict] = mapped_column(JSONB, nullable=False, default=dict)
# Explicit repository mutation authority. This is not attribution and must
# remain separate from execution_refs.
repository_grant: Mapped[dict | None] = mapped_column(JSONB, nullable=True)
result: Mapped[dict] = mapped_column(JSONB, nullable=False, default=dict)
# Canonical digest of the accepted terminal close request. It enables a
# response-lost caller to reconcile an exact repeat without weakening the
# active-lease requirement for a first mutation.
close_intent_digest: Mapped[str | None] = mapped_column(Text, nullable=True)
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True), nullable=False, server_default=func.now()
)