Skip to content

Commit 5c79fcd

Browse files
V48 (impl-only): Protocol settle_delivery vocabulary and Terminal cut
Rename product language from Shippable to settle delivery across UI, conversations tokens, postprocess kinds, MCP, and templates docs. Rename Terminal product helpers to Pipeline/Read names. Finish promptparts no longer instruct PR Shippables; settle ships PRs. Header CSS settle-delivery-header; history items use delivery_* fields.
1 parent 7eae90a commit 5c79fcd

65 files changed

Lines changed: 203 additions & 253 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The Model Context Protocol (MCP) server exposing Bitcode’s technical knowledge
3333
3434
## Features
3535
36-
- Tools interface for AssetPack execution and optional Shippable delivery
36+
- Tools interface for AssetPack execution and optional settle delivery
3737
- Real‑time streaming (WebSocket)
3838
- Multi‑modal attachments (Figma, documents, images, audio, video)
3939
- BTC fee posture plus measured non-fungible $BTD AssetPack amount
@@ -239,7 +239,7 @@ The Model Context Protocol (MCP) server exposing Bitcode’s technical knowledge
239239
subtype: {
240240
type: 'string',
241241
enum: ['pull_request'],
242-
description: 'V26 Shippable type to create'
242+
description: 'Delivery template type to create'
243243
},
244244
attachments: {
245245
type: 'array',

apps/mcp/src/types/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export type PipelinePhase =
1414
| 'validation'
1515
| 'finish';
1616
export type PipelineSubType = string;
17-
export type ShippableSubType = string;
17+
export type SettleDeliverySubType = string;
1818
export type InterfaceIngressSurface =
1919
| 'bitcode_mcp'
2020
| 'third_party_mcp'
@@ -157,7 +157,7 @@ export interface PipelineInputContext {
157157
}
158158

159159
/**
160-
* Canonical output meaning for AssetPack/Shippable results.
160+
* Canonical output meaning for AssetPack / settle delivery results.
161161
*/
162162
export interface AssetPackResult {
163163
kind: 'asset_pack';
@@ -295,14 +295,14 @@ export const BasePipelineToolSchema = z.object({
295295
});
296296

297297
/**
298-
* AssetPack pipeline tool schema with Shippable subtype specialization.
298+
* AssetPack pipeline tool schema with settle-delivery subtype specialization.
299299
*/
300300
export const AssetPackPipelineToolSchema = BasePipelineToolSchema.extend({
301301
subtype: z.enum([
302302
'pull_request', 'pr_review', 'issue', 'comment', 'blog_post',
303303
'diagram', 'api_spec', 'frontend_scaffolder', 'scope_analysis',
304304
'implementation_plan', 'refactor_proposal'
305-
] as const).describe('Specific Shippable subtype or AssetPack written-asset focus'),
305+
] as const).describe('Specific settle-delivery subtype or AssetPack written-asset focus'),
306306

307307
// AssetPack/Finish delivery options.
308308
options: z.object({

apps/uapi/app/api/templates/delivery/route.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export async function GET(request: Request) {
4646
const message =
4747
templatesError instanceof Error
4848
? templatesError.message
49-
: 'Failed to load Shippable templates';
49+
: 'Failed to load Delivery templates';
5050

5151
return NextResponse.json({ error: message, templates: [] }, { status: 500 });
5252
}
@@ -78,7 +78,7 @@ export async function POST(request: Request) {
7878
if (!name || !templateText || !types.length) {
7979
return NextResponse.json(
8080
{
81-
error: 'Shippable template name, text, and at least one Shippable type are required',
81+
error: 'Delivery template name, text, and at least one delivery type are required',
8282
templates: [],
8383
},
8484
{ status: 400 },
@@ -88,7 +88,7 @@ export async function POST(request: Request) {
8888
if (types.some((type) => type !== 'pullRequests')) {
8989
return NextResponse.json(
9090
{
91-
error: 'V26 Shippable templates support pull request delivery only',
91+
error: 'V26 Delivery templates support pull request delivery only',
9292
templates: [],
9393
},
9494
{ status: 400 },
@@ -113,7 +113,7 @@ export async function POST(request: Request) {
113113
const message =
114114
templatesError instanceof Error
115115
? templatesError.message
116-
: 'Failed to save Shippable template';
116+
: 'Failed to save Delivery template';
117117

118118
return NextResponse.json({ error: message, templates: [] }, { status: 500 });
119119
}

apps/uapi/app/executions/README.md

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,16 @@
1-
# `/app/executions` retained Bitcode Executions route
1+
# `/app/executions` Bitcode Pipeline Executions route
22

3-
`/executions` remains the retained execution route during V26 fourth-gate convergence.
3+
`/executions` is the product surface for pipeline run history, settle delivery
4+
panels, AssetPack synthesis evidence, and execution logs.
45

5-
It is not the final Bitcode product topology.
6-
Merged-world V26 keeps this retained route explicit as `executions`, where Bitcode execution primitives, pipelines, and measured-read follow-through remain inspectable while the broader `activity` family grows around transactions, executions, and notifications.
7-
The retained execution route must remain explicit and healthy while the strongest execution, Shippable, and inspection patterns continue porting inward to `/packs`.
6+
Protocol law:
7+
- Deposit/Read synthesis = SDIVF (Finish closes evidence; does not open buyer PRs)
8+
- Buyer-repo PR shipping = settle Simple (`ship-asset-pack-patch-pr`) → `settleDelivery`
89

910
Current owners:
10-
- `page.tsx`
11-
Direct route metadata for the retained executions surface.
12-
- `[runId]/page.tsx`
13-
Direct retained execution-detail route for one run.
14-
- `components/ExecutionsPage.tsx`
15-
Route-level shell for the main retained executions read.
16-
- `components/ExecutionsPageClient.tsx`
17-
The active retained runs, Shippables, AssetPack evidence, and execution-log composition owner.
18-
- `components/ExecutionsDetailsView.tsx`
19-
Shared retained execution-detail carrier used by direct route and converged application reads.
20-
- `../api/executions/route.ts`
21-
Active app-owned `/api/executions` route mounted from the canonical Shippables business-logic owner.
22-
- `../api/executions/history/*`
23-
App-owned retained history JSON carriers for selected-run hydration.
24-
- `../api/vcs/route.ts`
25-
Retained support carrier for provider/account/repository/branch/commit/issue reads required by the execution selectors.
26-
- `../api/templates/shippables/route.ts`
27-
Active Shippable template reads and writes used by the execution composer.
28-
- `../api/auxillaries/template-preferences/route.ts`
29-
Retained support storage carrier for saved Shippable-template preferences used by the execution composer.
30-
31-
This route should stay explicit about:
32-
- retained executions, measured-read runs, pipeline continuity, and execution-primitives naming,
33-
- the broader `activity` family above transactions, executions, and notifications,
34-
- Shippable, AssetPack evidence, and execution inspection semantics,
35-
- retained support API ownership required to keep the route healthy during inward convergence,
36-
- direct route/API ownership during fourth-gate,
37-
- and inward convergence toward `/packs` plus merged-world `activity` ownership rather than peer-product permanence.
11+
- `page.tsx` / `[runId]/page.tsx` — route shells
12+
- `components/bitcode/pipeline/*` — Executions UI (header, complete, settle delivery panels)
13+
- `../api/executions/route.ts` — live SDIVF synthesis (`asset-pack-pipeline` handlers)
14+
- `../api/executions/history/*` — history reread JSON
15+
- `../api/templates/delivery/route.ts` — delivery template CRUD
16+
- `../api/auxillaries/template-preferences/route.ts``delivery_templates` prefs

apps/uapi/components/bitcode/orbitals/OrbitalsConnectsOrbitalEmailConnection/OrbitalsConnectsOrbitalEmailConnection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ export function OrbitalsConnectsOrbitalEmailConnection({ userId, userEmail, onCo
315315
<strong>From:</strong> {emailConfig?.email}
316316
</div>
317317
<div className="orbitals-connects-email-field">
318-
<strong>Subject:</strong> Deliver application shippables
318+
<strong>Subject:</strong> Deliver application settle delivery
319319
</div>
320320
</header>
321321
<div className="orbitals-connects-email-body">

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ export function ExecutionDetailsView({ runId, executionId }: ExecutionDetailsVie
5858
const runOutput = (run as any).output || (run as any).output_data || {};
5959
const assetPackCompletion = runOutput?.asset_pack_completion || (run as any).asset_pack_completion || null;
6060
const writtenAssets = getHeaderWrittenAssets(assetPackCompletion);
61-
const shippables = getHeaderSettleDelivery(assetPackCompletion);
62-
const deliveryMechanism = shippables;
63-
const mergedAssetPackSurface = mergeHeaderSettleDelivery(writtenAssets, shippables);
61+
const settleDelivery = getHeaderSettleDelivery(assetPackCompletion);
62+
const deliveryMechanism = settleDelivery;
63+
const mergedAssetPackSurface = mergeHeaderSettleDelivery(writtenAssets, settleDelivery);
6464
const ReactMarkdown = dynamic(() => import('react-markdown'), { ssr: false });
6565

6666
// Extract execution state and output from events

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const CodeBlock = dynamic(() => import("@/components/bitcode/media/SyntaxHighlig
2525
});
2626
import { ProcessingIndicator } from "@/components/bitcode/indicators/ProcessingIndicator/ProcessingIndicator";
2727
// global styles for the header
28-
import "@/styles/shippables-header.css";
28+
import "@/styles/settle-delivery-header.css";
2929

3030
// Extracted component & styles
3131
import DeliveryTemplateText from "@/components/bitcode/pipeline/ExecutionsDeliveryTemplateText/ExecutionsDeliveryTemplateText";
@@ -375,7 +375,7 @@ export default function ExecutionsPageHeader({
375375
mode: 'execute',
376376
slowEntranceAnimations: false,
377377
showMockData: false,
378-
enabledShippables: {
378+
enabledSettleDelivery: {
379379
pullRequest: false,
380380
fileChanges: false,
381381
summary: false,
@@ -593,7 +593,7 @@ export default function ExecutionsPageHeader({
593593
<li><span className="text-white">Maximum abstraction</span>: Optimal code organization and reusability</li>
594594
<li><span className="text-white">Error handling</span>: Robust error management and recovery</li>
595595
</ul>
596-
<div className="text-xs text-gray-500 mt-2">Ideal for production-critical shippables requiring maximum reliability.</div>
596+
<div className="text-xs text-gray-500 mt-2">Ideal for production-critical settle delivery requiring maximum reliability.</div>
597597
</div>
598598
)
599599
}

apps/uapi/components/bitcode/pipeline/models/pipeline-run-data.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export const MOCK_RUNS: WorkspaceRun[] = [
7070
btcFeeUsdEquivalent: 6.72,
7171
averageLatencyMs: 1180,
7272
proofStatus: 'bounded proof bundle ready',
73-
closureFocus: 'AssetPack evidence + Finish PR mechanism',
73+
closureFocus: 'AssetPack evidence + settle delivery',
7474
},
7575
{
7676
id: 'mock-run-read-measurement-pass',
@@ -191,13 +191,13 @@ export const MOCK_RUN_ACTIVITY: Record<
191191
phase: 'Branch remediation',
192192
agent: 'Branch synthesizer',
193193
step: 'prepare_concise_context',
194-
generation: 'Shippable bundle',
194+
generation: 'Settle delivery bundle',
195195
},
196196
latestWorkUpdate: {
197197
id: 'wu-1',
198198
iteration: 2,
199199
confidence: 0.94,
200-
prose: 'Remediation branch artifacts and Shippable surfaces are aligned for transaction review.',
200+
prose: 'Remediation branch artifacts and settle delivery surfaces are aligned for transaction review.',
201201
timestamp: '2026-04-16T12:01:40.000Z',
202202
},
203203
iterationUpdates: [
@@ -212,7 +212,7 @@ export const MOCK_RUN_ACTIVITY: Record<
212212
id: 'wu-2',
213213
iteration: 2,
214214
confidence: 0.94,
215-
prose: 'Remediation branch artifacts and Shippable surfaces are aligned for transaction review.',
215+
prose: 'Remediation branch artifacts and settle delivery surfaces are aligned for transaction review.',
216216
timestamp: '2026-04-16T12:01:40.000Z',
217217
},
218218
],

apps/uapi/components/bitcode/pipeline/models/pipeline-selection-query.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,14 +232,14 @@ export function readProductConversationHandoffContext(searchParams: URLSearchPar
232232
};
233233
}
234234

235-
export function writeTerminalTransactionId(searchParams: URLSearchParams, transactionId: string) {
235+
export function writePipelineTransactionId(searchParams: URLSearchParams, transactionId: string) {
236236
const nextParams = new URLSearchParams(searchParams.toString());
237237
nextParams.set(SEARCH_PARAM_KEYS.transactionId, transactionId);
238238
nextParams.delete(SEARCH_PARAM_KEYS.runIdAlias);
239239
return nextParams;
240240
}
241241

242-
export function clearTerminalTransactionId(searchParams: URLSearchParams) {
242+
export function clearPipelineTransactionId(searchParams: URLSearchParams) {
243243
const nextParams = new URLSearchParams(searchParams.toString());
244244
nextParams.delete(SEARCH_PARAM_KEYS.transactionId);
245245
nextParams.delete(SEARCH_PARAM_KEYS.runIdAlias);
@@ -259,7 +259,7 @@ export function writeProductEnvironmentMode(
259259
return nextParams;
260260
}
261261

262-
export function writeTerminalDebugEnabled(searchParams: URLSearchParams, enabled: boolean) {
262+
export function writePipelineDebugEnabled(searchParams: URLSearchParams, enabled: boolean) {
263263
const nextParams = new URLSearchParams(searchParams.toString());
264264
if (!enabled) {
265265
nextParams.delete(SEARCH_PARAM_KEYS.debug);
@@ -309,7 +309,7 @@ export function writeProductTransactionFilters(
309309
return nextParams;
310310
}
311311

312-
export function writeTerminalTransactionPagination(
312+
export function writePipelineTransactionPagination(
313313
searchParams: URLSearchParams,
314314
pagination: TransactionPagination,
315315
) {
@@ -330,7 +330,7 @@ export function writeTerminalTransactionPagination(
330330
return nextParams;
331331
}
332332

333-
export function shouldRecoverTerminalTransactionRoute({
333+
export function shouldRecoverPipelineTransactionRoute({
334334
transactionIds,
335335
selectedTransactionId,
336336
}: {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import "@/styles/conversations/conversation-card.css";
1313

1414
interface MessageToken {
1515
id: string;
16-
type: "evidence_document" | "shippable" | "attachment" | "source" | "command" | "destination" | "pipeline_run";
16+
type: "evidence_document" | "settle_delivery" | "attachment" | "source" | "command" | "destination" | "pipeline_run";
1717
text: string;
1818
data: any;
1919
}

0 commit comments

Comments
 (0)