Q108: deliverables under review are held until approved instead of written first

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-08 17:45:39 -04:00
1 parent 4765683b86
commit 34c5557a32
13 files changed
+325 -87

No files matched your search

+5
View File
@@ -4,6 +4,7 @@ import { APPROVAL_STATE, ROLE_KEY } from "../../shared/domain";
import { createId } from "../../shared/ids";
import { AuditService } from "./audit-service";
import { settleHire } from "./agent-admission";
import { settleHeldDeliverable } from "./held-deliverables";
import { IdentityAccessService } from "./identity-access-service";
import { OrgGovernanceService } from "./org-governance-service";
@@ -101,6 +102,10 @@ export class ApprovalService {
action: input.state,
payload: { decidedAt: now },
});
// Last, so nothing after it can fail once a file is on disk.
if (approval.source_entity_type === "held_deliverable" && approval.source_entity_id) {
settleHeldDeliverable(this.db, approval.source_entity_id, input.state === APPROVAL_STATE.APPROVED);
}
}
private assertRequesterBelongsToOrg(input: CreateApprovalInput): void {