Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/canonical-ticket-ids.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"cargo-hauler": patch
---

Ticket ids must now be written exactly as hauler prints them, like `cc-1`. A zero-padded id such as `cc-01` is rejected as unknown instead of queueing an `--after` dependent that never wakes or making `await` sleep its full wait.
2 changes: 1 addition & 1 deletion artifact/agent-bundle.compile-evidence.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion artifact/agent-bundle.manifest.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion artifact/bin/cargo-hauler-flight.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20329,7 +20329,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down
2 changes: 1 addition & 1 deletion artifact/bin/cargo-hauler.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -22168,7 +22168,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-session-start.claude.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79622,7 +79622,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "session/start";
const capabilityRevision = "2.1.260";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-session-start.codex.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79622,7 +79622,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "session/start";
const capabilityRevision = "0.147.0";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-session-start.cursor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79622,7 +79622,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "session/start";
const capabilityRevision = "2026-08-28";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-stop.claude.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79622,7 +79622,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "stop";
const capabilityRevision = "2.1.260";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-stop.codex.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79622,7 +79622,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "stop";
const capabilityRevision = "0.147.0";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-stop.cursor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79622,7 +79622,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "stop";
const capabilityRevision = "2026-08-28";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.claude.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79621,7 +79621,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "tool/after";
const capabilityRevision = "2.1.260";
Expand Down
4 changes: 2 additions & 2 deletions artifact/hooks/event-route-tool-after.claude.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2298,7 +2298,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down Expand Up @@ -28148,7 +28148,7 @@ const prepareRouteInvocation = async (nativeInput, signal, observer, receipt)=>{
return withEventState(signal, async (bindings)=>{
const gate = await (0,_agent_bundle_runtime_request__rspack_import_6/* .runAgentRequest */.iC)({
invocation: {
artifactEpoch: "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416",
artifactEpoch: "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.codex.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79621,7 +79621,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "tool/after";
const capabilityRevision = "0.147.0";
Expand Down
4 changes: 2 additions & 2 deletions artifact/hooks/event-route-tool-after.codex.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2298,7 +2298,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down Expand Up @@ -28148,7 +28148,7 @@ const prepareRouteInvocation = async (nativeInput, signal, observer, receipt)=>{
return withEventState(signal, async (bindings)=>{
const gate = await (0,_agent_bundle_runtime_request__rspack_import_6/* .runAgentRequest */.iC)({
invocation: {
artifactEpoch: "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416",
artifactEpoch: "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.cursor.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79621,7 +79621,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "tool/after";
const capabilityRevision = "2026-08-28";
Expand Down
4 changes: 2 additions & 2 deletions artifact/hooks/event-route-tool-after.cursor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2298,7 +2298,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down Expand Up @@ -28148,7 +28148,7 @@ const prepareRouteInvocation = async (nativeInput, signal, observer, receipt)=>{
return withEventState(signal, async (bindings)=>{
const gate = await (0,_agent_bundle_runtime_request__rspack_import_6/* .runAgentRequest */.iC)({
invocation: {
artifactEpoch: "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416",
artifactEpoch: "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-before.claude.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79621,7 +79621,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "tool/before";
const capabilityRevision = "2.1.260";
Expand Down
4 changes: 2 additions & 2 deletions artifact/hooks/event-route-tool-before.claude.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down Expand Up @@ -25375,7 +25375,7 @@ const prepareRouteInvocation = async (nativeInput, signal, observer, receipt)=>{
return withEventState(signal, async (bindings)=>{
const gate = await (0,_agent_bundle_runtime_request__rspack_import_6/* .runAgentRequest */.iC)({
invocation: {
artifactEpoch: "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416",
artifactEpoch: "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-before.codex.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79621,7 +79621,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "tool/before";
const capabilityRevision = "0.147.0";
Expand Down
4 changes: 2 additions & 2 deletions artifact/hooks/event-route-tool-before.codex.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down Expand Up @@ -25375,7 +25375,7 @@ const prepareRouteInvocation = async (nativeInput, signal, observer, receipt)=>{
return withEventState(signal, async (bindings)=>{
const gate = await (0,_agent_bundle_runtime_request__rspack_import_6/* .runAgentRequest */.iC)({
invocation: {
artifactEpoch: "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416",
artifactEpoch: "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-before.cursor.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -79621,7 +79621,7 @@ __webpack_require__.a(__webpack_module__, async function (__rspack_load_async_de



const artifactEpoch = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const artifactEpoch = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const flightArtifactEpoch = "cargo-hauler@0.9.13";
const canonicalEvent = "tool/before";
const capabilityRevision = "2026-08-28";
Expand Down
4 changes: 2 additions & 2 deletions artifact/hooks/event-route-tool-before.cursor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down Expand Up @@ -25375,7 +25375,7 @@ const prepareRouteInvocation = async (nativeInput, signal, observer, receipt)=>{
return withEventState(signal, async (bindings)=>{
const gate = await (0,_agent_bundle_runtime_request__rspack_import_6/* .runAgentRequest */.iC)({
invocation: {
artifactEpoch: "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416",
artifactEpoch: "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/hooks-flight.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -22181,7 +22181,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down
2 changes: 1 addition & 1 deletion artifact/mcp/mcp-hauler-2b8242f9-flight.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -22559,7 +22559,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down
4 changes: 2 additions & 2 deletions artifact/mcp/mcp-hauler-2b8242f9.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -17897,7 +17897,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down Expand Up @@ -161006,7 +161006,7 @@ const routes = Object.freeze({
name: "hauler_status"
})
});
const EVENT_ARTIFACT_EPOCH = "f95bb0a6cd75d8eb752f255d57139cfdd021ca0340f405564fc562b21e2ac416";
const EVENT_ARTIFACT_EPOCH = "f882c624b8ebe1a91f905f001ec7fec248d570b04b8312bfa982731eb131eb37";
const EVENT_ALLOWED_TARGETS = Object.freeze([
"claude",
"codex",
Expand Down
2 changes: 1 addition & 1 deletion artifact/scripts/hauler.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -11155,7 +11155,7 @@ const encodeClientMessage = (message)=>`${JSON.stringify(message)}\n`;
*/ const orphanedByRestartError = 'orphaned by daemon restart';
const isOrphanedByRestart = (record)=>record.status === 'killed' && record.error === orphanedByRestartError;
const formatTicket = (id)=>`cc-${id}`;
const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;
const parseTicket = (ticket)=>{
const match = ticketPattern.exec(ticket);
return match === null ? null : Number(match[1]);
Expand Down
2 changes: 1 addition & 1 deletion src/internal/contracts/protocol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1013,7 +1013,7 @@ export const isOrphanedByRestart = (record: Pick<TicketSummary, 'status' | 'erro

export const formatTicket = (id: number): string => `cc-${id}`;

const ticketPattern = /^cc-(\d+)$/u;
const ticketPattern = /^cc-([1-9]\d*)$/u;

export const parseTicket = (ticket: string): number | null => {
const match = ticketPattern.exec(ticket);
Expand Down
35 changes: 35 additions & 0 deletions tests/integration/daemon-after.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,41 @@ describe('explicit ticket dependencies (--after)', () => {
).toHaveLength(2);
}));

it.live('rejects a zero-padded prerequisite and runs the canonical dependent', () =>
Effect.gen(function* () {
const { fixture, layer } = yield* brokerFixture(5);
yield* Effect.scoped(
Effect.gen(function* () {
const broker = yield* Broker;
const prerequisite = yield* submit(broker, fixture, {
argv: ['cargo', 'check', '-p', 'prerequisite'],
cwd: fixture.ws1,
sleep: '1',
});
expect(prerequisite.result.ticket).toBe('cc-1');
const padded = yield* Effect.flip(
submit(broker, fixture, {
after: ['cc-01'],
argv: ['cargo', 'check', '-p', 'padded'],
cwd: fixture.ws1,
}),
);
expect(padded).toMatchObject({ _tag: 'CargoIntentError' });
expect(String((padded as { readonly message: string }).message)).toContain(
'unknown prerequisite ticket cc-01',
);
const dependent = yield* submit(broker, fixture, {
after: ['cc-1'],
argv: ['cargo', 'check', '-p', 'dependent'],
cwd: fixture.ws1,
});
expect(dependent.result.waitingFor).toEqual(['cc-1']);
expect((yield* settled(broker, dependent.result.ticket)).status).toBe('done');
expect((yield* broker.awaitTicket('cc-01', 5_000)).record).toBeNull();
}),
).pipe(Effect.provide(layer));
}));

it.live('resolves prerequisites that already settled at submit time', () =>
Effect.gen(function* () {
const { fixture, layer } = yield* brokerFixture(5);
Expand Down
1 change: 1 addition & 0 deletions tests/unit/util/utils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,6 @@ describe('shared micro utilities', () => {
expect(parseTicket('cc-42')).toBe(42);
expect(parseTicket('cc-nope')).toBeNull();
expect(parseTicket('prefix-cc-42')).toBeNull();
expect(parseTicket('cc-042')).toBeNull();
});
});
Loading