fix: allow remote ticket targets without server checkout

This commit is contained in:
2026-09-24 05:04:19 +09:00
parent 70eb1120a2
commit e6608dd42f
3 changed files with 55 additions and 39 deletions
@@ -184,6 +184,14 @@ Deno.test("ticket detail uses server-derived role assignment actions", async ()
assertEquals(source.includes("updatedTicket.targets"), true);
assertEquals(source.includes("ticket.repository_key"), false);
assertEquals(source.includes("ticket.ref_selector"), false);
assertEquals(
source.includes("(repository.diagnostics ?? []).length > 0"),
false,
);
assertEquals(
source.includes("unique registered repository targets"),
true,
);
});
Deno.test("Ticket authoring creates the target collection without singular authority", async () => {
@@ -114,7 +114,6 @@
const repository = repositoryFor(target.repository_key);
if (
!target.repository_key || repository === null ||
(repository.diagnostics ?? []).length > 0 ||
!effectiveRefSelector(target) ||
repositoryKeys.has(target.repository_key)
) return false;
@@ -651,7 +650,7 @@
{busy === "ready" ? "Marking ready…" : "Mark ready"}
</button>
{#if !targetCandidateValid}
<p class="workspace-empty-copy">Add unique healthy repository targets with effective ref selectors and exactly one read-write target before marking ready.</p>
<p class="workspace-empty-copy">Add unique registered repository targets with effective ref selectors and exactly one read-write target before marking ready.</p>
{/if}
{:else if ticket.state === "ready"}
<button class="workspace-primary-button ticket-queue-button" type="button" disabled={busy === "queue" || !ticket.action_eligibility.can_queue} onclick={() => void queueTicket()}>