04 / Commercial InterfacesChatGPT App

Use the ChatGPT App as a connected Bitcode interface

ChatGPT App docs explain conversational Bitcode operation: expressing Reads, attaching source, confirming writes, returning Terminal links, and preserving proof boundaries.

Use this page when the user experience is conversational but the outcome still has to be Exchange-readable and Protocol-bound.

After reading

You can explain how a ChatGPT App can feel natural while still preserving Bitcode write admission and proof reread.

ChatGPT App

01

The ChatGPT App is a guided Bitcode interface, not a separate assistant

A ChatGPT App can help users express Reads, attach source, ask for proof explanations, draft Shippables, and operate through confirmation-gated writes.

Its answers should map back to Exchange records and Terminal reads. The app may be conversational, but the proof and state contract remains Bitcode.

Why this matters

This keeps a familiar commercial interface aligned with Protocol-grade evidence instead of drifting into untracked chat output.

  • Confirm writes before changing Exchange state.
  • Attach source, output destinations, Read intent, and AssetPack references as structured context.
  • Return Terminal links or activity IDs for reread.

Results

02

Chat results should teach where to verify

A good ChatGPT App response should say what it did, what is staged, what is blocked, and where the user can verify the result in Terminal.

This is the same write/read discipline as the Terminal action guide, adapted for conversational operation.

Why this matters

Users should never have to trust a chat transcript when Exchange and Terminal can show the actual state.

Disclosure limits

03

Public docs expose guidance and proof posture, not protected source

Public Bitcode docs derive from the active Protocol, package-owned catalogs, route contracts, and source-safe generated artifacts. They can explain usage, measurements, event ids, proof roots, docs links, runbook links, redaction posture, testnet rollout readiness, fee boundaries, and settlement posture.

They must not reveal protected source payloads, raw protected prompts, secret values, provider tokens, wallet private material, or unpaid AssetPack source. Source-bearing AssetPack contents cross to the reader only after settlement and rights transfer.

Why this matters

This keeps the public product understandable while preserving the boundary that makes Source Shares economically and operationally safe.

  • Allowed: usage guidance, route links, state labels, source-safe measurements, proof roots, dashboard/runbook ids, redacted incident posture, testnet rollout readiness, LocalStagingTelemetryDocumentationRehearsal evidence, and fee/right boundaries.
  • Interface docs may surface event ids, proof roots, docs links, runbook links, and redaction posture from TelemetryDocumentationInterfaceIntegration without revealing source-bearing payloads.
  • Local and staging-testnet rehearsal docs may surface documentation discovery, telemetry event emission, dashboard/runbook lookup, docs QA, incident drill, source-safe proof-root review, and blocked value-bearing mainnet posture.
  • Blocked: secrets, provider tokens, wallet private material, raw protected prompts, protected source payloads, and unpaid AssetPack source.
  • Docs QA fails closed when public docs, internal docs, route docs, interface docs, generated artifacts, proof posture, or workflow checks drift.
  • Deferred boundaries stay explicit: V35 documents Exchange and Conversations usage while deeper product depth remains future-canon work.

Interface preview

Learn with the same UI grammar used in Terminal

These embedded specimens reuse the Terminal card and explainer pattern so docs readers become familiar with the real product surfaces before they operate against them.

Confirmation

Conversational writes still read proof-aware confirmation

The app can help a user draft, but state changes should clearly say what will be written and where to verify it.

Draft

Natural language

Confirm

Bounded write

Verify

Terminal reread

API reference

Usage features, inputs, and expected outputs

These references are grounded in the package code. Read them like API docs: when to call the feature, how to shape the payload, what should come back, and where Terminal or Exchange should verify the result.

ChatGPT App MCP tools

These are the canonical tools exported by packages/chatgptapp. Read tools gather evidence; write tools require confirmed: true and return write-admission metadata.

packages/chatgptapp/src/tools.ts
answer_codebase_querytools/call

Ask a targeted question about the current repository or find existing implementation points.

packages/chatgptapp/src/tools.ts

How to use

Call with a regex-friendly query and optional cwd/maxResults. Use the returned file lines to decide whether to extend existing behavior or introduce new behavior.

Inputs

  • query: required search pattern.
  • cwd: optional working directory scope.
  • maxResults: optional 1-500 cap, default 100.
  • ignoreCase: optional boolean, default false.

Expected outputs

  • answer: plain-language summary plus file:line hits.
  • metadata.matches: structured match objects.
  • metadata.matchCount and guidance: count and next-step framing.

Verify

Use the resulting files as source context before a Terminal or connected-interface write.

answer_codeweb_querytools/call

Research external technical references, examples, or documentation for a product or implementation decision.

packages/chatgptapp/src/tools.ts

How to use

Call with a focused query. Keep the result as external reference evidence, not Exchange state, until it is attached to a real Bitcode action.

Inputs

  • query: required web research query.
  • numResults: optional 1-20 cap, default 8.
  • useAutoprompt: optional provider refinement toggle, default true.

Expected outputs

  • answer: numbered reading list or no-source guidance.
  • metadata.provider: exa.
  • metadata.results: normalized title, url, and summary records.
depict_design_assettools/call

Turn a screenshot, diagram, or wireframe into text that later tools can reference.

packages/chatgptapp/src/tools.ts

How to use

Pass base64 or text asset data with an optional focus. Use the depiction as context for design_code or code_design.

Inputs

  • assetData: required base64 or UTF-8 asset representation.
  • focus: optional analysis emphasis.
  • notes: optional author hints.

Expected outputs

  • depiction: textual description of the asset.
  • metadata.focus: requested emphasis.
  • metadata.bytes: decoded/estimated asset size.
design_codetools/call

Capture conversational product intent into .ai/PRODUCT.md before planning implementation.

packages/chatgptapp/src/tools.ts

How to use

Pass raw ideas. Optionally include current PRODUCT.md or request digest regeneration before appending proposed updates.

Inputs

  • ideas: required raw ideas or requirements.
  • currentProductMd: optional current .ai/PRODUCT.md snapshot.
  • regenerateFromDigest: optional boolean to rebuild the baseline from digest.

Expected outputs

  • update: proposed update block.
  • latest_design: full latest PRODUCT.md content.
  • metadata.evidenceDocument, guidance, digestUsed, and prepared context stats.

Verify

Treat this as design context until a later write creates Exchange-readable activity.

code_designtools/call

Translate accepted design intent into tasks and patch scaffolds before code changes.

packages/chatgptapp/src/tools.ts

How to use

Pass the design update and optional target files. Review the generated implementation actions before executing any write.

Inputs

  • update: required implementation update or summary.
  • latest_design: optional PRODUCT.md content.
  • files: optional array of { path, intent } targets.

Expected outputs

  • update: numbered implementation actions plus diff scaffold.
  • latest_design: design basis used for the plan.
  • metadata.taskCount, fileCount, guidance, and prepared context stats.
read_code_changes_from_vcstools/call

Summarize recent GitHub activity before deciding what changed or what to build next.

packages/chatgptapp/src/tools.ts

How to use

Pass a GitHub token, owner, repo, and optional branch/limit. Use the result as VCS read evidence.

Inputs

  • accessToken: required GitHub repo-scoped token.
  • owner and repo: required repository coordinates.
  • branch: optional branch ref.
  • limit: optional 1-50 commit cap, default 10.

Expected outputs

  • changes: human-readable commit summary.
  • metadata.branch and commitCount.
  • metadata.urlSamples: source URLs for follow-up.
write_code_changes_to_vcstools/callconfirmed write

Create a GitHub repository or write file contents after explicit user confirmation.

packages/chatgptapp/src/tools.ts

How to use

Set confirmed: true. For createRepository, pass name/description/private. For createOrUpdateFile, pass owner/repo/path/content/message/branch.

Inputs

  • operation: createRepository or createOrUpdateFile.
  • confirmed: required true.
  • accessToken: required GitHub repo-scoped token.
  • name, description, private: repository creation inputs.
  • owner, repo, path, content, message, branch: file-write inputs.

Expected outputs

  • result: GitHub repository or commit response.
  • metadata.operation and optional sha.
  • metadata.writeAdmission: interfaceSurface, permission basis, operation, and targetAnchor.

Verify

Reread the connected-interface result as a delivery mechanism, not independent Exchange truth.

Failure posture

  • Throws if confirmed is not true.
  • Throws if createOrUpdateFile lacks owner, repo, or path.
improve_developing_behaviortools/call

Record collaboration rules or development behavior preferences into .ai/AGENTS.md.

packages/chatgptapp/src/tools.ts

How to use

Pass behaviorImprovement and optional current AGENTS.md. Use regenerateFromDigest when the baseline should be rebuilt first.

Inputs

  • behaviorImprovement: optional behavior note.
  • currentAgentsMd: optional current AGENTS.md snapshot.
  • regenerateFromDigest: optional boolean.

Expected outputs

  • behaviorDelta: appended behavior block.
  • latestBehaviorDocument and latestBehavior: latest AGENTS.md.
  • metadata.evidenceDocument, guidance, digestUsed, and prepared context stats.
use_vercel_read_external_mcptools/call

Read Vercel teams, projects, deployments, build logs, events, or docs from ChatGPT.

packages/chatgptapp/src/tools.ts

How to use

Set request to the Vercel read operation and pass provider-specific arguments in payload.

Inputs

  • request: list_teams, list_projects, get_project, list_deployments, get_deployment, get_deployment_events, get_deployment_build_logs, or search_documentation.
  • payload: optional Vercel arguments such as teamId, projectId, idOrUrl, limit, topic, or tokens.

Expected outputs

  • answer: Vercel tool response.
  • metadata.provider: vercel.
  • metadata.request, evidenceDocument, and guidance.
use_vercel_write_external_mcptools/callconfirmed write

Request Vercel delivery actions after explicit user confirmation.

packages/chatgptapp/src/tools.ts

How to use

Set confirmed: true and request deploy_to_vercel, buy_domain, or check_domain_availability with provider arguments in payload.

Inputs

  • request: deploy_to_vercel, buy_domain, or check_domain_availability.
  • confirmed: required true.
  • payload: projectId/teamId/message, domain names/contact, or availability names.

Expected outputs

  • result: Vercel write or availability result.
  • metadata.provider, request, guidance, and evidenceDocument.
  • metadata.writeAdmission with connectedInterface vercel and targetAnchor.

Failure posture

  • Throws if confirmed is not true.
use_aws_read_external_mcptools/call

Read AWS runtime state from ChatGPT for health checks or configuration confirmation.

packages/chatgptapp/src/tools.ts

How to use

Set request to the AWS read action and pass the raw AWS-style payload through to the underlying tool.

Inputs

  • request: lambda.invoke, s3.getObject, dynamo.getItem, or cloudwatch.log.
  • payload: raw function, bucket/key, table/key, or log query arguments.

Expected outputs

  • answer: AWS read result.
  • metadata.provider: aws.
  • metadata.request, evidenceDocument, and guidance.
use_aws_write_external_mcptools/callconfirmed write

Write scoped AWS delivery/configuration outputs after explicit user confirmation.

packages/chatgptapp/src/tools.ts

How to use

Set confirmed: true and request s3.putObject or dynamo.putItem with the underlying AWS payload.

Inputs

  • request: s3.putObject or dynamo.putItem.
  • confirmed: required true.
  • payload: bucket/key/body or table/item style arguments.

Expected outputs

  • result: AWS write result.
  • metadata.provider, request, guidance, and evidenceDocument.
  • metadata.writeAdmission with connectedInterface aws and targetAnchor.

Failure posture

  • Throws if confirmed is not true.