@cat-factory/server 0.324.0 → 0.325.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/modules/publicApi/PublicApiController.d.ts.map +1 -1
  2. package/dist/modules/publicApi/PublicApiController.js +5 -292
  3. package/dist/modules/publicApi/PublicApiController.js.map +1 -1
  4. package/dist/modules/publicApi/PublicDecisionController.d.ts.map +1 -1
  5. package/dist/modules/publicApi/PublicDecisionController.js +2 -0
  6. package/dist/modules/publicApi/PublicDecisionController.js.map +1 -1
  7. package/dist/modules/publicApi/decisions/bugFishingProjection.d.ts +19 -0
  8. package/dist/modules/publicApi/decisions/bugFishingProjection.d.ts.map +1 -0
  9. package/dist/modules/publicApi/decisions/bugFishingProjection.js +130 -0
  10. package/dist/modules/publicApi/decisions/bugFishingProjection.js.map +1 -0
  11. package/dist/modules/publicApi/decisions/bugFishingRoutes.d.ts +4 -0
  12. package/dist/modules/publicApi/decisions/bugFishingRoutes.d.ts.map +1 -0
  13. package/dist/modules/publicApi/decisions/bugFishingRoutes.js +73 -0
  14. package/dist/modules/publicApi/decisions/bugFishingRoutes.js.map +1 -0
  15. package/dist/modules/publicApi/decisions/projection.d.ts +21 -0
  16. package/dist/modules/publicApi/decisions/projection.d.ts.map +1 -1
  17. package/dist/modules/publicApi/decisions/projection.js +65 -11
  18. package/dist/modules/publicApi/decisions/projection.js.map +1 -1
  19. package/dist/modules/publicApi/openapiDocument.generated.d.ts +1 -1
  20. package/dist/modules/publicApi/openapiDocument.generated.d.ts.map +1 -1
  21. package/dist/modules/publicApi/openapiDocument.generated.js +1 -1
  22. package/dist/modules/publicApi/openapiDocument.generated.js.map +1 -1
  23. package/dist/modules/publicApi/publicApiAdmission.d.ts +1 -1
  24. package/dist/modules/publicApi/publicApiAdmission.d.ts.map +1 -1
  25. package/dist/modules/publicApi/publicApiAdmission.js +5 -1
  26. package/dist/modules/publicApi/publicApiAdmission.js.map +1 -1
  27. package/dist/modules/publicApi/publicApiStream.d.ts +50 -1
  28. package/dist/modules/publicApi/publicApiStream.d.ts.map +1 -1
  29. package/dist/modules/publicApi/publicApiStream.js +83 -5
  30. package/dist/modules/publicApi/publicApiStream.js.map +1 -1
  31. package/dist/modules/publicApi/publicApiStreamRoutes.d.ts +30 -0
  32. package/dist/modules/publicApi/publicApiStreamRoutes.d.ts.map +1 -0
  33. package/dist/modules/publicApi/publicApiStreamRoutes.js +275 -0
  34. package/dist/modules/publicApi/publicApiStreamRoutes.js.map +1 -0
  35. package/dist/modules/publicApi/runProjection.d.ts +30 -0
  36. package/dist/modules/publicApi/runProjection.d.ts.map +1 -0
  37. package/dist/modules/publicApi/runProjection.js +127 -0
  38. package/dist/modules/publicApi/runProjection.js.map +1 -0
  39. package/package.json +8 -8
@@ -0,0 +1,130 @@
1
+ import { bugFishingAcceptsCuration } from '@cat-factory/contracts';
2
+ // The BUG-FISHING EXPEDITION's external projection: what the read-only `bug-fisher` agent has
3
+ // caught so far, which angles it has fished, and what a person still has to mark.
4
+ //
5
+ // Its own module rather than more of `projection.ts`, because it is a whole park kind's worth of
6
+ // shape (a plan, a phase list with its coverage record, a finding list with its spawn claims) and
7
+ // that file already carries eleven others.
8
+ //
9
+ // Two rules from `projection.ts` bind here too. Every OBJECT is projected rather than aliased, so
10
+ // an ordinary edit to the engine's `step.bugFishing` cannot become a public break; and every
11
+ // internal `optional | nullable` collapses to an always-present nullable, so four generated
12
+ // clients have one shape to check rather than "absent" and "null" to tell apart.
13
+ /**
14
+ * Whether an expedition still wants a person.
15
+ *
16
+ * `awaiting_triage` is the park. `fishing` is IN FLIGHT and listed too, which is the flow's own
17
+ * shape rather than a convenience: each angle records its findings the moment its pass lands, and
18
+ * marking one is accepted while later angles are still being fished. A caller that only saw the
19
+ * expedition once it parked would sit out exactly the overlap the separate passes create.
20
+ *
21
+ * `done` is settled and carries no question.
22
+ *
23
+ * Read off the contracts' own rule rather than re-stated here, so what this surface OFFERS and
24
+ * what the engine's three verbs ACCEPT cannot diverge: a listed expedition is answerable and an
25
+ * unlisted one is refused, both because of the same line.
26
+ */
27
+ export function isLiveBugFishing(state) {
28
+ return bugFishingAcceptsCuration(state.status);
29
+ }
30
+ /** Project a live expedition onto the external decision resource. */
31
+ export function toBugFishingDecision(state, step, stepIndex) {
32
+ return {
33
+ kind: 'bug-fishing',
34
+ status: state.status,
35
+ stepKind: step.agentKind,
36
+ stepIndex,
37
+ phases: (state.phases ?? []).map(toBugFishingPhase),
38
+ currentPhaseIndex: state.currentPhaseIndex ?? 0,
39
+ findings: (state.findings ?? []).map(toBugFishingFinding),
40
+ plan: state.plan ? toBugFishingPlan(state.plan) : null,
41
+ defaultFixPipelineId: state.defaultFixPipelineId ?? null,
42
+ model: state.model ?? null,
43
+ };
44
+ }
45
+ /**
46
+ * One angle, externally.
47
+ *
48
+ * The coverage record is FLATTENED to its two numbers rather than passed through as an object.
49
+ * `offManifest` and `source` are the engine's own audit of the agent's self-report, which a caller
50
+ * deciding whether an angle actually looked at anything cannot act on; the share it can act on is
51
+ * `filesRead` against `manifestFiles`. Both are null together when the pass reported no coverage
52
+ * at all, which is a different fact from a share of zero and is why they are nullable rather than
53
+ * defaulted.
54
+ */
55
+ function toBugFishingPhase(phase) {
56
+ return {
57
+ phaseId: phase.id,
58
+ title: phase.title,
59
+ goal: phase.goal,
60
+ status: phase.status,
61
+ summary: phase.summary ?? null,
62
+ failureReason: phase.failureReason ?? null,
63
+ territoryId: phase.territoryId ?? null,
64
+ territoryLabel: phase.territoryLabel ?? null,
65
+ settledAt: phase.settledAt ?? null,
66
+ filesRead: phase.coverage?.filesRead ?? null,
67
+ manifestFiles: phase.coverage?.manifestFiles ?? null,
68
+ };
69
+ }
70
+ /**
71
+ * The plan, externally: the budget, the matrix it was cut from, and the cells nobody fished.
72
+ *
73
+ * The TERRITORIES themselves are deliberately not projected. A caller reads a territory only to
74
+ * name the ground a finding or an unfished cell belongs to, and both of those carry the label they
75
+ * were recorded under; the descriptor list beside them would add root paths, subtree shas and a
76
+ * token estimate that describe how the platform sized the hunt rather than what it found.
77
+ */
78
+ function toBugFishingPlan(plan) {
79
+ return {
80
+ passBudget: plan.passBudget,
81
+ plannedCells: plan.plannedCells,
82
+ unfished: (plan.unfished ?? []).map((cell) => ({
83
+ territoryId: cell.territoryId,
84
+ territoryLabel: cell.territoryLabel,
85
+ phaseId: cell.phaseId,
86
+ phaseTitle: cell.phaseTitle,
87
+ })),
88
+ treeTruncated: plan.treeTruncated ?? false,
89
+ surveyUnavailableReason: plan.surveyUnavailableReason ?? null,
90
+ };
91
+ }
92
+ /** One finding, externally. Every string on it is model-authored; nothing here composes markup. */
93
+ function toBugFishingFinding(finding) {
94
+ return {
95
+ findingId: finding.id,
96
+ phaseId: finding.phaseId,
97
+ territoryId: finding.territoryId ?? null,
98
+ path: finding.path,
99
+ line: finding.line ?? null,
100
+ severity: finding.severity,
101
+ kind: finding.kind,
102
+ confidence: finding.confidence,
103
+ title: finding.title,
104
+ detail: finding.detail,
105
+ failureScenario: finding.failureScenario ?? null,
106
+ evidence: finding.evidence ?? null,
107
+ suggestedFix: finding.suggestedFix ?? null,
108
+ spawn: finding.spawn ? toBugFishingSpawn(finding.spawn) : null,
109
+ dismissed: finding.dismissed ?? false,
110
+ };
111
+ }
112
+ /**
113
+ * A marked finding's spawn record, externally.
114
+ *
115
+ * `requestedBy` is dropped: it is a `usr_*` this surface resolves to nothing, and a key is not a
116
+ * person, so a marking made over `/api/v1` records no requester at all. Publishing the field would
117
+ * put a null beside every externally-marked finding that reads as "nobody", which is true of the
118
+ * key's markings and false of the app's.
119
+ */
120
+ function toBugFishingSpawn(spawn) {
121
+ return {
122
+ status: spawn.status,
123
+ taskId: spawn.taskId,
124
+ executionId: spawn.executionId ?? null,
125
+ pipelineId: spawn.pipelineId,
126
+ requestedAt: spawn.requestedAt,
127
+ failureReason: spawn.failureReason ?? null,
128
+ };
129
+ }
130
+ //# sourceMappingURL=bugFishingProjection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bugFishingProjection.js","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/bugFishingProjection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Hono } from 'hono';
2
+ import type { AppEnv } from '../../../http/env.js';
3
+ export declare function registerBugFishingDecisionRoutes(app: Hono<AppEnv>): void;
4
+ //# sourceMappingURL=bugFishingRoutes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bugFishingRoutes.d.ts","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/bugFishingRoutes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AA4BlD,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CA2DxE"}
@@ -0,0 +1,73 @@
1
+ import { addressPublicRunBugFishingFindingsContract, dismissPublicRunBugFishingFindingContract, resolvePublicRunBugFishingContract, } from '@cat-factory/contracts';
2
+ import { buildHonoRoute } from '@toad-contracts/hono';
3
+ import { runWithInitiator } from '../../../github/runInitiatorContext.js';
4
+ import { buildDecisionList } from './projection.js';
5
+ import { failureBody, gateDecisionAction } from './scope.js';
6
+ // The BUG-FISHING EXPEDITION's three verbs: mark findings to be addressed, dismiss one, finish
7
+ // triaging.
8
+ //
9
+ // This is the second CURATING park to become answerable here, and closing it is what removes
10
+ // `bug-fisher` from the decision surface's `unanswerable` report: until these routes existed, an
11
+ // expedition was a run a `decide` key could start, watch and only END, discarding everything it
12
+ // had caught. The one place that fact is declared is `PUBLICLY_ANSWERABLE_PARK_SURFACES`, which
13
+ // the start-surface refusal and the wait report both read, so adding the kind there is what makes
14
+ // all three agree.
15
+ //
16
+ // Reachable only through `POST /api/v1/tasks/:taskId/start`, since `bug-fisher` is
17
+ // container-backed and the jobs surface is inline-only.
18
+ //
19
+ // TWO of the three run under the run's OWN initiator, and the split is the same one `gateRoutes`
20
+ // draws: `address` creates board tasks and STARTS their runs, `resolve` advances the expedition's
21
+ // run past its step, and both must keep using the credentials the expedition was started with
22
+ // rather than silently demoting to the deployment default. `dismiss` writes the step and nothing
23
+ // else, so it has no outbound work for an initiator to credential.
24
+ //
25
+ // The marking's REQUESTER is deliberately `null` rather than anything derived from the key: a key
26
+ // is not a person, and inventing one would put a name on the expedition's record that never read
27
+ // the finding. The spawn record's `requestedAt` still says when.
28
+ export function registerBugFishingDecisionRoutes(app) {
29
+ // Mark findings to be addressed: one bug-fix task per finding, each linked back to the
30
+ // expedition and started immediately.
31
+ buildHonoRoute(app, addressPublicRunBugFishingFindingsContract, async (c) => {
32
+ const { runId } = c.req.valid('param');
33
+ const gated = await gateDecisionAction(c, runId);
34
+ if ('fail' in gated) {
35
+ return c.json(failureBody(gated.fail), gated.fail.status);
36
+ }
37
+ const { workspaceId, scoped } = gated;
38
+ const input = c.req.valid('json');
39
+ await runWithInitiator({ workspaceId, initiatedBy: scoped.execution.initiatedBy }, () => c
40
+ .get('container')
41
+ .executionService.decisions.addressBugFishingFindings(workspaceId, scoped.execution.id, input, null));
42
+ return c.json(await buildDecisionList(c, workspaceId, scoped), 200);
43
+ });
44
+ // Drop one finding from triage. Curation, not a resolution: the run stays exactly where it is,
45
+ // and the finding stays on the expedition's record rather than vanishing from it.
46
+ buildHonoRoute(app, dismissPublicRunBugFishingFindingContract, async (c) => {
47
+ const { runId, findingId } = c.req.valid('param');
48
+ const gated = await gateDecisionAction(c, runId);
49
+ if ('fail' in gated) {
50
+ return c.json(failureBody(gated.fail), gated.fail.status);
51
+ }
52
+ const { workspaceId, scoped } = gated;
53
+ await c
54
+ .get('container')
55
+ .executionService.decisions.dismissBugFishingFinding(workspaceId, scoped.execution.id, findingId);
56
+ return c.json(await buildDecisionList(c, workspaceId, scoped), 200);
57
+ });
58
+ // Finish the expedition and advance the run past the step. Everything still unmarked stays
59
+ // unacted on, which is why this is a separate verb rather than something `address` implies.
60
+ buildHonoRoute(app, resolvePublicRunBugFishingContract, async (c) => {
61
+ const { runId } = c.req.valid('param');
62
+ const gated = await gateDecisionAction(c, runId);
63
+ if ('fail' in gated) {
64
+ return c.json(failureBody(gated.fail), gated.fail.status);
65
+ }
66
+ const { workspaceId, scoped } = gated;
67
+ await runWithInitiator({ workspaceId, initiatedBy: scoped.execution.initiatedBy }, () => c
68
+ .get('container')
69
+ .executionService.decisions.resolveBugFishing(workspaceId, scoped.execution.id));
70
+ return c.json(await buildDecisionList(c, workspaceId, scoped), 200);
71
+ });
72
+ }
73
+ //# sourceMappingURL=bugFishingRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bugFishingRoutes.js","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/bugFishingRoutes.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,27 @@ import type { ScopedRun } from './scope.js';
19
19
  * own step chain can produce (see {@link liveDialogueDecisions}).
20
20
  */
21
21
  export declare function buildDecisionList<E extends AppEnv>(c: Context<E>, workspaceId: string, scoped: ScopedRun): Promise<PublicDecisionList>;
22
+ /**
23
+ * {@link buildDecisionList} minus the re-read: project a decision list from an instance the
24
+ * caller is already holding.
25
+ *
26
+ * Split out for the SSE decision channel, which polls the run once per tick and would otherwise
27
+ * read it twice per frame. Every mutating route still goes through {@link buildDecisionList},
28
+ * because there the re-read is the point.
29
+ *
30
+ * This is the WHOLE list, dialogue and interview reads included, and a stream must not narrow it
31
+ * to the parts that are free: `decisions: []` from a run holding a live requirements review is
32
+ * byte-for-byte the answer a run with nothing to ask gives, which is the one confusion this
33
+ * surface's `unanswerable` field exists to prevent. What a stream may reduce is how much of the
34
+ * model-authored PROSE one frame carries (`reduceDecisionsForStream`, which says so on the list's
35
+ * `truncated` flag), never which decisions are in it.
36
+ *
37
+ * What the projection itself chooses is which reads to ISSUE, and the run's own STEP CHAIN decides
38
+ * that: a pipeline carrying no step that can produce a given park is not holding one, so the read
39
+ * is skipped. It matters most here, since this is the per-tick body of a poll that runs once a
40
+ * second for up to five minutes.
41
+ */
42
+ export declare function projectDecisionList<E extends AppEnv>(c: Context<E>, workspaceId: string, blockId: string, execution: ExecutionInstance): Promise<PublicDecisionList>;
22
43
  /**
23
44
  * A parked interview gate this deployment registered as an agent kind but wired no controller for,
24
45
  * carried out of {@link liveInterviewDecisions} with the step it was found on.
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAMvB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKvD,OAAO,KAAK,EAKV,iBAAiB,EAWjB,kBAAkB,EAIlB,sBAAsB,EAKvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAge3C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EACtD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAmD7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AA4DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAC;AACtD,8FAA8F;AAC9F,KAAK,EAAE,YAAY;AACnB,+EAA+E;AAC/E,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,oBAAoB,GAAG,IAAI;AACxC;;;;GAIG;AACH,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,sBAAsB,EAAE,CAkD1B"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAMvB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKvD,OAAO,KAAK,EAKV,iBAAiB,EAWjB,kBAAkB,EAIlB,sBAAsB,EAKvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAge3C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EACtD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAK7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EACxD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAqD7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AA+DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAC;AACtD,8FAA8F;AAC9F,KAAK,EAAE,YAAY;AACnB,+EAA+E;AAC/E,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,oBAAoB,GAAG,IAAI;AACxC;;;;GAIG;AACH,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,sBAAsB,EAAE,CAkD1B"}
@@ -1,6 +1,7 @@
1
1
  import { ARCHITECTURE_BRAINSTORM_AGENT_KIND, CLARITY_REVIEW_AGENT_KIND, CURATION_GATE_TRAIT, hasTrait, REQUIREMENTS_BRAINSTORM_AGENT_KIND, } from '@cat-factory/agents';
2
2
  import { dedicatedParkSurface, findParkedInterviewStep, followUpLoopBudget, stepAwaitsDecision, } from '@cat-factory/orchestration';
3
3
  import { blockingReviewComments, PUBLIC_PR_REVIEW_MAX_RESUME_ATTEMPTS, } from '@cat-factory/contracts';
4
+ import { isLiveBugFishing, toBugFishingDecision } from './bugFishingProjection.js';
4
5
  import { PUBLICLY_ANSWERABLE_PARK_SURFACES } from '../publicApiAdmission.js';
5
6
  // The run → `PublicDecisionList` projection: what a parked run is currently asking a human, as
6
7
  // external resources. One `to*Decision` + one `isLive*` predicate per park kind, and the assembly
@@ -452,14 +453,38 @@ function isLiveInputGate(gate) {
452
453
  export async function buildDecisionList(c, workspaceId, scoped) {
453
454
  const container = c.get('container');
454
455
  const execution = (await container.executionRepository.get(workspaceId, scoped.execution.id)) ?? scoped.execution;
456
+ return projectDecisionList(c, workspaceId, scoped.blockId, execution);
457
+ }
458
+ /**
459
+ * {@link buildDecisionList} minus the re-read: project a decision list from an instance the
460
+ * caller is already holding.
461
+ *
462
+ * Split out for the SSE decision channel, which polls the run once per tick and would otherwise
463
+ * read it twice per frame. Every mutating route still goes through {@link buildDecisionList},
464
+ * because there the re-read is the point.
465
+ *
466
+ * This is the WHOLE list, dialogue and interview reads included, and a stream must not narrow it
467
+ * to the parts that are free: `decisions: []` from a run holding a live requirements review is
468
+ * byte-for-byte the answer a run with nothing to ask gives, which is the one confusion this
469
+ * surface's `unanswerable` field exists to prevent. What a stream may reduce is how much of the
470
+ * model-authored PROSE one frame carries (`reduceDecisionsForStream`, which says so on the list's
471
+ * `truncated` flag), never which decisions are in it.
472
+ *
473
+ * What the projection itself chooses is which reads to ISSUE, and the run's own STEP CHAIN decides
474
+ * that: a pipeline carrying no step that can produce a given park is not holding one, so the read
475
+ * is skipped. It matters most here, since this is the per-tick body of a poll that runs once a
476
+ * second for up to five minutes.
477
+ */
478
+ export async function projectDecisionList(c, workspaceId, blockId, execution) {
479
+ const container = c.get('container');
455
480
  // The dialogue reads and the fork read are INDEPENDENT point lookups in separate stores, so they
456
481
  // are issued together: this projection is on the poll path AND rebuilt after every answer, and
457
482
  // awaiting them in sequence made its latency the sum of every park kind a run could carry rather
458
483
  // than the slowest one. The concatenation order below is still deterministic.
459
484
  const [dialogue, fork, interview] = await Promise.all([
460
- liveDialogueDecisions(c, workspaceId, scoped.blockId, execution),
485
+ liveDialogueDecisions(c, workspaceId, blockId, execution),
461
486
  liveForkDecisions(c, workspaceId, execution),
462
- liveInterviewDecisions(c, workspaceId, scoped.blockId, execution),
487
+ liveInterviewDecisions(c, workspaceId, blockId, execution),
463
488
  ]);
464
489
  const decisions = [
465
490
  ...dialogue,
@@ -477,7 +502,7 @@ export async function buildDecisionList(c, workspaceId, scoped) {
477
502
  }
478
503
  return {
479
504
  runId: execution.id,
480
- taskId: scoped.blockId,
505
+ taskId: blockId,
481
506
  status: execution.status,
482
507
  // `blocked` IS the parked state — the run is waiting on a human and will not move until one
483
508
  // of these decisions is answered. Read from the run itself rather than inferred from the
@@ -489,6 +514,10 @@ export async function buildDecisionList(c, workspaceId, scoped) {
489
514
  // the decisions it sits beside, so a wait this very response answers cannot also be reported
490
515
  // as one nobody here can.
491
516
  unanswerable: unanswerableWaits(execution, container.gateRegistry, container.agentKindRegistry, interview.unwiredGate, answeredStepIndexes(decisions)),
517
+ // This projection serves every field whole. The SSE channel is the one reader that reduces, and
518
+ // it re-stamps the flag itself (`reduceDecisionsForStream`), so nothing here has to know
519
+ // whether it is being polled or streamed.
520
+ truncated: false,
492
521
  };
493
522
  }
494
523
  /**
@@ -517,12 +546,14 @@ function answeredStepIndexes(decisions) {
517
546
  *
518
547
  * Whether it belongs in the wait report is the SAME question the refusal at the start surface
519
548
  * answers, so it is asked of the same set ({@link PUBLICLY_ANSWERABLE_PARK_SURFACES}) rather than
520
- * of a second list beside it: `pr-reviewer` has public verbs (resolve / dismiss / challenge /
521
- * resume) and is a `decisions[]` entry, `bug-fisher` has none and is named here. A slice that
522
- * lands the marking route moves the member and both the refusal and this report follow.
549
+ * of a second list beside it. Both SHIPPED curating kinds now have public verbs and are therefore
550
+ * `decisions[]` entries rather than named waits: `pr-reviewer` (resolve / dismiss / challenge /
551
+ * resume) and `bug-fisher` (address / dismiss / resolve). What is left for this to report is a
552
+ * curating kind a DEPLOYMENT registered, whose marking lives wherever that deployment put it, and
553
+ * adding one's verbs is a single edit to that map, which both the refusal and this report follow.
523
554
  *
524
555
  * The step also carries an ordinary pending approval, which this response DOES offer, and that is
525
- * why the detail says what resolving it means. Ending an expedition is an exit, not an answer: it
556
+ * why the detail says what resolving it means. Ending a curation is an exit, not an answer: it
526
557
  * advances the run past the step while everything it caught goes unacted on, and a caller told
527
558
  * only "here is an approval" would take the one for the other.
528
559
  */
@@ -538,9 +569,10 @@ function curationWait(step, stepIndex, agentKinds) {
538
569
  stepKind: step.agentKind,
539
570
  stepIndex,
540
571
  detail: `The run is parked on the '${step.agentKind}' step so a person can mark which of the ` +
541
- 'things it found are worth acting on. No call on this API marks one, so that choice has to ' +
542
- "be made in the app. Resolving the step's approval gate from here ENDS the run instead, " +
543
- 'leaving everything it found unacted on.',
572
+ 'things it found are worth acting on. This deployment registered that kind and no call on ' +
573
+ 'this API marks one, so the marking lives wherever the deployment surfaced it. Resolving ' +
574
+ "the step's approval gate from here ENDS the run instead, leaving everything it found " +
575
+ 'unacted on.',
544
576
  };
545
577
  }
546
578
  /**
@@ -660,6 +692,12 @@ async function liveDialogueDecisions(c, workspaceId, blockId, execution) {
660
692
  // Each read is against a different store with nothing to say to the others, so they are issued
661
693
  // together rather than chained. The RESULT order is fixed by the tuple, not by which store
662
694
  // answered first, so a caller's decision list does not reshuffle between two polls of one run.
695
+ //
696
+ // Clarity and the brainstorms are gated on the run's own STEP CHAIN, which bounds them by what
697
+ // the run can produce rather than by what the deployment happens to have wired: each is driven
698
+ // by the review gate on a step of its own kind, so a pipeline without that step cannot be
699
+ // holding one, and the read would be a round-trip per poll tick answering "no" for the life of
700
+ // a connection. Requirements is read whatever the chain carries, for the reason above.
663
701
  const [requirementsReview, clarityReview, brainstormSessions] = await Promise.all([
664
702
  requirements ? requirements.service.getForBlock(workspaceId, blockId) : null,
665
703
  clarity && kinds.has(CLARITY_REVIEW_AGENT_KIND)
@@ -732,8 +770,21 @@ async function liveInterviewDecisions(c, workspaceId, blockId, execution) {
732
770
  unwiredGate: null,
733
771
  };
734
772
  }
735
- /** The run's implementation-fork park, which the engine stores behind its own service read. */
773
+ /**
774
+ * The run's implementation-fork park, which the engine stores behind its own service read.
775
+ *
776
+ * Gated on the instance ALREADY IN HAND, which can answer "there is nothing to read" outright: fork
777
+ * state lives on a coder step (`PipelineStep.forkDecision`, no side table), so a run carrying none
778
+ * has no fork decision by construction and the service read would re-fetch this very row to say so,
779
+ * once a second for as long as the decision channel stays open.
780
+ *
781
+ * The read is still MADE rather than the state projected from here, because which of a pipeline's
782
+ * coder steps is the active one is the engine's rule, and a second site deciding that is a second
783
+ * site that can decide it differently.
784
+ */
736
785
  async function liveForkDecisions(c, workspaceId, execution) {
786
+ if (!execution.steps.some((step) => step.forkDecision))
787
+ return [];
737
788
  const fork = await c
738
789
  .get('container')
739
790
  .executionService.decisions.getForkDecision(workspaceId, execution.id);
@@ -764,6 +815,9 @@ function liveStepDecisions(execution, registry) {
764
815
  if (step.prReview && isLivePrReview(step.prReview)) {
765
816
  decisions.push(toPrReviewDecision(step.prReview, step));
766
817
  }
818
+ if (step.bugFishing && isLiveBugFishing(step.bugFishing)) {
819
+ decisions.push(toBugFishingDecision(step.bugFishing, step, index));
820
+ }
767
821
  if (step.humanTest && isLiveHumanTest(step.humanTest)) {
768
822
  decisions.push(toHumanTestDecision(step.humanTest));
769
823
  }
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/projection.ts"],"names":[],"mappings":"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"}