Skip to content

Commit d72efec

Browse files
V48 (impl-only): Prefer settleDelivery on reread
Extend dual-read of settleDelivery (canonical) with historical shippables through domain postprocess, schemas, history types, and UI panels. Correct Finish-ship copy to settle delivery language. Keep dual-write so stored runs remain rereadable. Typecheck and focused tests pass.
1 parent 98c7dd5 commit d72efec

15 files changed

Lines changed: 44 additions & 17 deletions

File tree

apps/mcp/src/docs/openapi-generator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ The Model Context Protocol (MCP) server exposing Bitcode’s technical knowledge
210210
url: {
211211
type: 'string',
212212
format: 'uri',
213-
description: 'External URL for the PR-backed Shippable',
213+
description: 'External URL for the settle PR delivery',
214214
example: 'https://github.com/bitcode-labs/webapp/pull/123'
215215
},
216216
content: {
@@ -297,7 +297,7 @@ The Model Context Protocol (MCP) server exposing Bitcode’s technical knowledge
297297
assetPacks: {
298298
type: 'array',
299299
items: { $ref: '#/components/schemas/AssetPack' },
300-
description: 'Generated AssetPack results and PR Shippables'
300+
description: 'Generated AssetPack results and settle PR deliveries'
301301
},
302302
metrics: { $ref: '#/components/schemas/ExecutionMetrics' },
303303
streamUrl: {

apps/mcp/src/tools/monitoring-tools.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ export function registerMonitoringTools(): MCPTool[] {
405405
Provides comprehensive pipeline information including:
406406
• Current execution status and phase
407407
• Performance metrics and resource usage
408-
• AssetPack results and PR Shippables produced
408+
• AssetPack results and settle PR deliveries produced
409409
• Error information and recovery status
410410
• Real-time execution events (optional)
411411

apps/uapi/components/bitcode/pipeline/ExecutionsPageClient/ExecutionsPageClient.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ export function ExecutionsClient() {
347347
null;
348348
const deliveryMechanismForPanels =
349349
getHeaderSettleDelivery(historyAssetPackCompletion) ||
350+
headerPostprocessed?.settleDelivery ||
350351
headerPostprocessed?.shippables ||
351352
headerPostprocessed?.deliveryMechanism ||
352353
null;

apps/uapi/components/bitcode/pipeline/models/pipeline-activity-history.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ export function mapExecutionHistoryRunToWorkspaceRun(run: PipelineExecution): Wo
668668
run.asset_pack_completion?.summary ||
669669
run.asset_pack_completion?.assetPackSynthesisArtifacts?.summary ||
670670
run.asset_pack_completion?.writtenAssets?.summary ||
671-
run.asset_pack_completion?.shippables?.summary ||
671+
run.asset_pack_completion?.settleDelivery?.summary || run.asset_pack_completion?.shippables?.summary ||
672672
run.asset_pack_completion?.deliveryMechanism?.summary ||
673673
failureSummary ||
674674
null,

apps/uapi/components/conversations/ConversationsCard/ConversationsCard.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ export function ConversationsCard({
300300
</div>
301301
</div>
302302

303-
{/* Logs & Shippables bucket column */}
303+
{/* Logs + settle delivery / evidence surfaces */}
304304
{showEmbeddedLogs && (
305305
<div
306306
className="embedded-process-log border-l border-gray-700 custom-scrollbar"
@@ -318,7 +318,9 @@ export function ConversationsCard({
318318
{renderLog()}
319319
</div>
320320
<div style={{ flex: 1, overflowY: "auto", borderTop: "1px solid rgba(55,65,81)", padding: "0.5rem", backgroundColor: "#0a1428" }}>
321-
<h3 style={{ fontSize: "0.8rem", color: "#ccc", marginBottom: "0.5rem" }}>Shippables & Evidence Documents</h3>
321+
<h3 style={{ fontSize: "0.8rem", color: "#ccc", marginBottom: "0.5rem" }}>
322+
Delivery & evidence
323+
</h3>
322324
{chat.messages.flatMap(m => m.actions || []).length > 0 ? (
323325
chat.messages.flatMap(m => m.actions || []).map((action, idx) => (
324326
<div key={idx} style={{ display: "flex", alignItems: "center", justifyContent: "space-between", padding: "0.25rem 0" }}>
@@ -333,7 +335,9 @@ export function ConversationsCard({
333335
</div>
334336
))
335337
) : (
336-
<p style={{ fontSize: "0.75rem", color: "#9ca3af" }}>No Shippables or AI documents yet</p>
338+
<p style={{ fontSize: "0.75rem", color: "#9ca3af" }}>
339+
No settle delivery or evidence surfaces yet
340+
</p>
337341
)}
338342
</div>
339343
</div>

apps/uapi/components/conversations/ConversationsDeliveryTemplatePicker/ConversationsDeliveryTemplatePicker.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ interface DeliveryTemplatePickerProps {
2020
export default function DeliveryTemplatePicker({ isOpen, onSelect, onClose, searchTerm }: DeliveryTemplatePickerProps) {
2121
const [shippables, setShippables] = useState<Shippable[]>([]);
2222

23-
// Fetch AssetPack executions that can expose Finish-delivered Shippables.
23+
// Fetch AssetPack executions that can expose settle delivery surfaces.
2424
useEffect(() => {
2525
if (!isOpen || shippables.length > 0) return;
2626
fetch('/api/executions?type=agentic-execution:asset-pack')

apps/uapi/hooks/usePatternRecognition.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ const generateLearningInsights = (
421421
// Risk assessment insights
422422
const highRiskPatterns = patterns.filter(p => p.riskLevel === 'high');
423423
if (highRiskPatterns.length > 0) {
424-
insights.push(`Detected ${highRiskPatterns.length} high-risk pattern(s) - consider splitting the AssetPack synthesis into smaller shippables`);
424+
insights.push(`Detected ${highRiskPatterns.length} high-risk pattern(s) - consider splitting AssetPack synthesis into smaller options`);
425425
}
426426

427427
return insights;

apps/uapi/networking/api-client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ export const callAssetPackExecutionsAPI = async (
176176

177177
/**
178178
* Fetch a list of pipeline executions (history) for the current user.
179-
* Each execution may include AssetPack evidence and Finish-delivered Shippables.
179+
* Each execution may include AssetPack evidence and settle delivery surfaces.
180180
*/
181181
export const fetchPipelineExecutionHistory = async (): Promise<PipelineExecution[]> => {
182182
const response = await fetch('/api/executions/history');

apps/uapi/types/api.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,9 @@ export interface PipelineExecution {
195195
asset_pack_synthesis_artifacts?: AssetPackSynthesisArtifactsSurface | null;
196196
/** Semantic reread of the AssetPack synthesis artifacts. */
197197
written_assets?: AssetPackSurface | null;
198-
/** V26 Finish-delivered pull-request Shippable. */
198+
/** Canonical settle PR delivery surface. */
199+
settle_delivery?: AssetPackSurface | null;
200+
/** Historical dual-write of settle_delivery. */
199201
shippables?: AssetPackSurface | null;
200202
/** Delivery mechanism projected onto the connected pull-request interface. */
201203
delivery_mechanism?: AssetPackSurface | null;
@@ -211,7 +213,9 @@ export interface PipelineExecution {
211213
/** Canonical AssetPack completion payload. */
212214
asset_pack_completion?: {
213215
summary?: string | null;
214-
/** Primary Finish-delivered Shippables. */
216+
/** Canonical settle delivery surface (buyer PR after rights). */
217+
settleDelivery?: AssetPackSurface;
218+
/** Historical dual-write of settleDelivery. */
215219
shippables?: AssetPackSurface;
216220
/** Bitcode-owned implementation-phase AssetPack synthesis artifacts. */
217221
assetPackSynthesisArtifacts?: AssetPackSynthesisArtifactsSurface;

packages/api/src/routes/asset-pack-pipeline.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1263,6 +1263,7 @@ export const POST = traceRoute('/executions', async (request: NextRequest) => {
12631263
null;
12641264
const completionDelivery =
12651265
assetPackCompletion?.deliveryMechanism ||
1266+
assetPackCompletion?.settleDelivery ||
12661267
assetPackCompletion?.shippables ||
12671268
null;
12681269
const completionFileChanges = completionWrittenAssets?.fileChanges || null;

0 commit comments

Comments
 (0)