Skip to content

Commit fa6ada2

Browse files
V37 Gate 8: Conversation telemetry proof hooks
Adds package-owned ConversationTelemetryProofHooks canon source and generated artifact. Wires source-safe conversation telemetry proof hooks into API stream rows, the Conversations telemetry proof panel, dashboard/runbook docs, and Gate 8 workflow checks. Extends protocol, API, UI, documentation, and checker coverage for source-safe telemetry proof posture.
1 parent 1f7a2f0 commit fa6ada2

33 files changed

Lines changed: 3871 additions & 38 deletions

.bitcode/v37-conversation-telemetry-proof-hooks.json

Lines changed: 1508 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/bitcode-canon-quality.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ jobs:
127127
if [ -f scripts/check-v37-gate7-conversation-persistence-privacy-redaction.mjs ]; then
128128
node scripts/check-v37-gate7-conversation-persistence-privacy-redaction.mjs --skip-branch-check
129129
fi
130+
if [ -f scripts/check-v37-gate8-conversation-telemetry-proof-hooks.mjs ]; then
131+
node scripts/check-v37-gate8-conversation-telemetry-proof-hooks.mjs --skip-branch-check
132+
fi
130133
fi
131134
else
132135
echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2

.github/workflows/bitcode-gate-quality.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,9 @@ jobs:
256256
if [ -f scripts/check-v37-gate7-conversation-persistence-privacy-redaction.mjs ]; then
257257
node scripts/check-v37-gate7-conversation-persistence-privacy-redaction.mjs --skip-branch-check
258258
fi
259+
if [ -f scripts/check-v37-gate8-conversation-telemetry-proof-hooks.mjs ]; then
260+
node scripts/check-v37-gate8-conversation-telemetry-proof-hooks.mjs --skip-branch-check
261+
fi
259262
fi
260263
else
261264
echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2
@@ -328,7 +331,8 @@ jobs:
328331
pnpm --filter @bitcode/pipeline-hosts exec jest --config jest.config.cjs --runTestsByPath src/__tests__/distributed-execution-runtime-receipt.test.ts --runInBand --forceExit
329332
pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --runTestsByPath src/__tests__/reading-pipeline-observability.test.ts src/__tests__/reading-pipeline-contract.test.ts src/__tests__/v32-reading-pipeline-proof-coverage.test.ts --runInBand --forceExit
330333
pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --runTestsByPath src/__tests__/asset-pack-disclosure.test.ts src/__tests__/postprocess.test.ts src/__tests__/read-need.test.ts --runInBand --forceExit
331-
pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/conversations/__tests__/stream-events.test.ts src/conversations/__tests__/privacy.test.ts --runInBand --forceExit
334+
pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/conversations/__tests__/stream-events.test.ts src/conversations/__tests__/privacy.test.ts src/conversations/__tests__/telemetry.test.ts --runInBand --forceExit
335+
pnpm --dir packages/protocol exec node --test --test-force-exit test/conversation-telemetry-proof-hooks.test.js
332336
pnpm --filter @bitcode/protocol test
333337
334338
- name: Test staged Reading route and Terminal harness contracts
@@ -348,6 +352,8 @@ jobs:
348352
tests/conversationTerminalHandoff.test.tsx \
349353
tests/api/conversationPersistencePrivacyRedaction.test.ts \
350354
tests/conversationPersistencePrivacyPanel.test.tsx \
355+
tests/api/conversationTelemetryProofHooks.test.ts \
356+
tests/conversationTelemetryProofPanel.test.tsx \
351357
tests/conversationSourceSelector.test.tsx \
352358
tests/conversationWritingWorkspace.test.tsx \
353359
tests/auxillariesExternalsPane.test.tsx \

BITCODE_SPEC_V37.md

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
## Status
44

55
- Version: `V37`
6-
- V37 state: draft implementation; Gate 7 closes ConversationPersistencePrivacyRedaction durable storage privacy over active V36 Exchange canon
6+
- V37 state: draft implementation; Gate 8 closes ConversationTelemetryProofHooks dashboards, runbooks, and source-safe telemetry proof over active V36 Exchange canon
77
- Current canonical/latest target: `V36`
88
- Prior canonical anchor: `BITCODE_SPEC_V36.md`
99
- Prior generated proof appendix: `BITCODE_SPEC_V36_PROVEN.md`
10-
- Generated structured artifact inventory: draft `.bitcode/v37-spec-family-report.json`, `.bitcode/v37-canonical-input-report.json`, `.bitcode/v37-canon-posture-drift-report.json`, `.bitcode/v37-conversation-session-route-history.json`, `.bitcode/v37-conversation-stream-event-contract.json`, `.bitcode/v37-conversation-writing-workspace.json`, `.bitcode/v37-conversation-source-selector.json`, `.bitcode/v37-conversation-terminal-handoff.json`, and `.bitcode/v37-conversation-persistence-privacy-redaction.json`
11-
- Source parity state: V37 source parity includes Gate 1 spec family, roadmap, docs, workflow, and checker posture, Gate 2 package-owned ConversationSession route-history contracts, Gate 3 package-owned ConversationStreamEvent stream UI/event contracts, Gate 4 package-owned ConversationWritingWorkspace fullscreen writing contracts, Gate 5 package-owned ConversationSourceSelector source/context policy contracts, Gate 6 package-owned ConversationTerminalHandoff transaction handoff contracts, and Gate 7 package-owned ConversationPersistencePrivacyRedaction durable storage privacy contracts
10+
- Generated structured artifact inventory: draft `.bitcode/v37-spec-family-report.json`, `.bitcode/v37-canonical-input-report.json`, `.bitcode/v37-canon-posture-drift-report.json`, `.bitcode/v37-conversation-session-route-history.json`, `.bitcode/v37-conversation-stream-event-contract.json`, `.bitcode/v37-conversation-writing-workspace.json`, `.bitcode/v37-conversation-source-selector.json`, `.bitcode/v37-conversation-terminal-handoff.json`, `.bitcode/v37-conversation-persistence-privacy-redaction.json`, and `.bitcode/v37-conversation-telemetry-proof-hooks.json`
11+
- Source parity state: V37 source parity includes Gate 1 spec family, roadmap, docs, workflow, and checker posture, Gate 2 package-owned ConversationSession route-history contracts, Gate 3 package-owned ConversationStreamEvent stream UI/event contracts, Gate 4 package-owned ConversationWritingWorkspace fullscreen writing contracts, Gate 5 package-owned ConversationSourceSelector source/context policy contracts, Gate 6 package-owned ConversationTerminalHandoff transaction handoff contracts, Gate 7 package-owned ConversationPersistencePrivacyRedaction durable storage privacy contracts, and Gate 8 package-owned ConversationTelemetryProofHooks telemetry, dashboard, runbook, and docs contracts
1212
- Active canonical pointer during draft opening: `BITCODE_SPEC.txt` -> `V36`
1313
- Notes companion: `BITCODE_SPEC_V37_NOTES.md`
1414
- Delta companion: `BITCODE_SPEC_V37_DELTA.md`
@@ -36,6 +36,7 @@ V37 adds Website Conversations product contracts over inherited V36 canon:
3636
- `ConversationSourceSelector`: repository, branch, commit, deposit, BTD range, AssetPack preview, document, and prior conversation source selectors governed by policy, rights, and disclosure posture.
3737
- `ConversationTerminalHandoff`: source-safe handoff from conversation context into `/terminal` transactions for Depositing, Reading, Finding Fits, Exchange, settlement, and delivery workflows.
3838
- `ConversationPersistencePrivacyRedaction`: durable conversation storage, visibility tier separation, export, delete, retention, replay, and incident repair posture for source-safe persisted history.
39+
- `ConversationTelemetryProofHooks`: source-safe telemetry families, dashboard panels, runbook ids, correlation ids, proof roots, redaction posture, and visibility tiers for sessions, messages, streams, tools, selectors, handoffs, retries, errors, and completions.
3940

4041
V37 does not replace the V28 ChatGPT App, V33 interface contracts, V35 telemetry/docs, or V36 Exchange law.
4142
It turns the website conversation surface into a route-owned user experience that consumes those contracts and emits proof-rooted source-safe telemetry.
@@ -227,6 +228,40 @@ workflow wiring, visibility tier coverage, retention posture coverage, export
227228
posture, delete posture, replay posture, incident repair posture, proof roots,
228229
event ids, and source-safe persisted metadata.
229230

231+
## V37 Gate 8 ConversationTelemetryProofHooks canon
232+
233+
Gate 8 implements `ConversationTelemetryProofHooks` as the package-owned
234+
telemetry, dashboard, runbook, and documentation contract for Website
235+
Conversations. It owns source-safe event families for sessions, messages,
236+
streams, tools, source selectors, Terminal handoffs, retries, errors, and
237+
completions. It emits
238+
`.bitcode/v37-conversation-telemetry-proof-hooks.json` with
239+
`source-safe-conversation-telemetry-proof-hooks-metadata`, deterministic row
240+
roots, hook roots, dashboard panel ids, runbook ids, required telemetry field
241+
ids, proof root fields, source evidence roots, replay expectations, and
242+
source-safe disclosure boundaries.
243+
244+
Conversation telemetry proof hooks may expose only event ids, conversation
245+
ids, message ids, run ids, source selector refs, Terminal transaction refs,
246+
state enums, counts, proof roots, dashboard panel ids, runbook ids, and
247+
redacted error classes. They must not expose secret values, provider tokens,
248+
wallet private material, protected source payloads, raw protected prompts,
249+
raw provider responses with protected source, unpaid AssetPack source,
250+
settlement private payloads, private payment credentials, operator private
251+
notes, ledger write authority, or wallet signing authority.
252+
253+
Gate 8 binds conversation stream rows to source-safe telemetry proof hooks in
254+
the API and gives the fullscreen Conversations UI a telemetry proof panel
255+
that previews dashboard/runbook posture without source leakage. Public docs
256+
explain route-local history, streaming, source selection, Terminal handoff,
257+
privacy, retries, and telemetry proof hooks. Internal docs define the
258+
dashboard panels and runbook ids operators use to debug failure and quality
259+
posture without protected payloads. `check:v37-gate8` validates package
260+
source, generated artifact freshness, package tests, API tests, UI tests,
261+
public docs, internal runbooks, workflow wiring, dashboard coverage, runbook
262+
coverage, event family coverage, proof roots, telemetry roots, source
263+
evidence roots, and source-safe telemetry metadata.
264+
230265
## Inherited V36 Exchange canon
231266

232267
The promoted V36 sections below remain inherited canonical law for Exchange.

BITCODE_SPEC_V37_DELTA.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
## Status
44

55
- Version: `V37`
6-
- V37 state: draft implementation; this delta records the V36-to-V37 Website Conversations opening through Gate 6 ConversationTerminalHandoff transaction handoff contracts
6+
- V37 state: draft implementation; this delta records the V36-to-V37 Website Conversations opening through Gate 8 ConversationTelemetryProofHooks telemetry, dashboard, runbook, and docs contracts
77
- Current canonical/latest target: `V36`
88
- Prior canonical anchor: `BITCODE_SPEC_V36.md`
99
- Prior generated proof appendix: `BITCODE_SPEC_V36_PROVEN.md`
10-
- Generated structured artifact inventory: draft `.bitcode/v37-spec-family-report.json`, `.bitcode/v37-canonical-input-report.json`, `.bitcode/v37-canon-posture-drift-report.json`, `.bitcode/v37-conversation-session-route-history.json`, `.bitcode/v37-conversation-stream-event-contract.json`, `.bitcode/v37-conversation-writing-workspace.json`, `.bitcode/v37-conversation-source-selector.json`, and `.bitcode/v37-conversation-terminal-handoff.json`
11-
- Source parity state: V37 source parity begins at Gate 1 with spec family, roadmap, docs, workflow, and checker posture; Gate 2 adds package-owned ConversationSession route-history contracts; Gate 3 adds package-owned ConversationStreamEvent contracts and stream UI binding; Gate 4 adds package-owned ConversationWritingWorkspace fullscreen composer contracts; Gate 5 adds package-owned ConversationSourceSelector context policy; Gate 6 adds package-owned ConversationTerminalHandoff transaction handoff contracts
10+
- Generated structured artifact inventory: draft `.bitcode/v37-spec-family-report.json`, `.bitcode/v37-canonical-input-report.json`, `.bitcode/v37-canon-posture-drift-report.json`, `.bitcode/v37-conversation-session-route-history.json`, `.bitcode/v37-conversation-stream-event-contract.json`, `.bitcode/v37-conversation-writing-workspace.json`, `.bitcode/v37-conversation-source-selector.json`, `.bitcode/v37-conversation-terminal-handoff.json`, `.bitcode/v37-conversation-persistence-privacy-redaction.json`, and `.bitcode/v37-conversation-telemetry-proof-hooks.json`
11+
- Source parity state: V37 source parity begins at Gate 1 with spec family, roadmap, docs, workflow, and checker posture; Gate 2 adds package-owned ConversationSession route-history contracts; Gate 3 adds package-owned ConversationStreamEvent contracts and stream UI binding; Gate 4 adds package-owned ConversationWritingWorkspace fullscreen composer contracts; Gate 5 adds package-owned ConversationSourceSelector context policy; Gate 6 adds package-owned ConversationTerminalHandoff transaction handoff contracts; Gate 7 adds package-owned ConversationPersistencePrivacyRedaction durable storage privacy contracts; Gate 8 adds package-owned ConversationTelemetryProofHooks telemetry, dashboard, runbook, and docs contracts
1212
- Spec companion: `BITCODE_SPEC_V37.md`
1313
- Notes companion: `BITCODE_SPEC_V37_NOTES.md`
1414
- Parity companion: `BITCODE_SPEC_V37_PARITY_MATRIX.md`
@@ -180,6 +180,15 @@ Closure acceptance:
180180

181181
Gate 8 binds Conversations to telemetry, proof, dashboards, and public/internal docs.
182182

183+
Gate 8 closure adds package-backed `ConversationTelemetryProofHooks` source,
184+
`.bitcode/v37-conversation-telemetry-proof-hooks.json`,
185+
`source-safe-conversation-telemetry-proof-hooks-metadata`, session/message/
186+
stream/tool/source selector/Terminal handoff/retry/error/completion event
187+
families, source-safe dashboard panels, runbook ids, proof roots, telemetry
188+
roots, API stream proof hook metadata, fullscreen telemetry proof preview UI,
189+
public conversation docs, internal operator runbook docs, package tests, API
190+
tests, UI tests, workflow wiring, and `check:v37-gate8`.
191+
183192
Closure acceptance:
184193

185194
- conversation event families bind sessions, messages, streams, tools, source selectors, handoffs, retries, errors, and completions to source-safe telemetry;

BITCODE_SPEC_V37_NOTES.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
## Status
44

55
- Version: `V37`
6-
- V37 state: draft implementation; Gate 6 closes ConversationTerminalHandoff transaction handoff over active V36 Exchange canon
6+
- V37 state: draft implementation; Gate 8 closes ConversationTelemetryProofHooks telemetry, dashboard, runbook, and docs posture over active V36 Exchange canon
77
- Current canonical/latest target: `V36`
88
- Current active draft target: `V37`
99
- Prior canonical anchor: `BITCODE_SPEC_V36.md`
1010
- Prior generated proof appendix: `BITCODE_SPEC_V36_PROVEN.md`
11-
- Generated structured artifact inventory: draft `.bitcode/v37-spec-family-report.json`, `.bitcode/v37-canonical-input-report.json`, `.bitcode/v37-canon-posture-drift-report.json`, `.bitcode/v37-conversation-session-route-history.json`, `.bitcode/v37-conversation-stream-event-contract.json`, `.bitcode/v37-conversation-writing-workspace.json`, `.bitcode/v37-conversation-source-selector.json`, and `.bitcode/v37-conversation-terminal-handoff.json`
12-
- Source parity state: V37 source parity begins at Gate 1 with spec family, roadmap, docs, workflow, and checker posture; Gate 2 adds package-owned ConversationSession route-history contracts; Gate 3 adds package-owned ConversationStreamEvent stream contracts; Gate 4 adds package-owned ConversationWritingWorkspace fullscreen composer contracts; Gate 5 adds package-owned ConversationSourceSelector context policy; Gate 6 adds package-owned ConversationTerminalHandoff transaction handoff contracts
11+
- Generated structured artifact inventory: draft `.bitcode/v37-spec-family-report.json`, `.bitcode/v37-canonical-input-report.json`, `.bitcode/v37-canon-posture-drift-report.json`, `.bitcode/v37-conversation-session-route-history.json`, `.bitcode/v37-conversation-stream-event-contract.json`, `.bitcode/v37-conversation-writing-workspace.json`, `.bitcode/v37-conversation-source-selector.json`, `.bitcode/v37-conversation-terminal-handoff.json`, `.bitcode/v37-conversation-persistence-privacy-redaction.json`, and `.bitcode/v37-conversation-telemetry-proof-hooks.json`
12+
- Source parity state: V37 source parity begins at Gate 1 with spec family, roadmap, docs, workflow, and checker posture; Gate 2 adds package-owned ConversationSession route-history contracts; Gate 3 adds package-owned ConversationStreamEvent stream contracts; Gate 4 adds package-owned ConversationWritingWorkspace fullscreen composer contracts; Gate 5 adds package-owned ConversationSourceSelector context policy; Gate 6 adds package-owned ConversationTerminalHandoff transaction handoff contracts; Gate 7 adds package-owned ConversationPersistencePrivacyRedaction durable storage privacy contracts; Gate 8 adds package-owned ConversationTelemetryProofHooks telemetry, dashboard, runbook, and docs contracts
1313
- Scope: draft notes for website Conversations work after V36 Exchange depth and after the V28 ChatGPT App MVP proved the interface path.
1414

1515
This NOTES file does not promote V37. It is binding draft guidance while V37 gates are in flight.
@@ -136,6 +136,19 @@ retention never escalates visibility, replay uses prompt template ids and
136136
parsed result shapes, and incident repair operates over proof roots and
137137
redaction verdicts.
138138

139+
Gate 8 adds `ConversationTelemetryProofHooks` so conversation sessions,
140+
messages, streams, tools, source selectors, Terminal handoffs, retries,
141+
errors, and completions have source-safe dashboard/runbook telemetry. The
142+
package source emits `.bitcode/v37-conversation-telemetry-proof-hooks.json`,
143+
the API attaches telemetry proof hooks to conversation stream execution rows,
144+
and the UI exposes a fullscreen telemetry proof panel. Telemetry proof hooks
145+
may expose event ids, conversation ids, message ids, run ids, source selector
146+
refs, Terminal transaction refs, state enums, counts, proof roots, dashboard
147+
panel ids, runbook ids, and redacted error classes only. Protected prompts,
148+
protected model responses, protected source payloads, provider tokens, wallet
149+
private material, settlement private payloads, unpaid AssetPack source,
150+
ledger write authority, and wallet signing authority remain forbidden.
151+
139152
## V37 gate plan
140153

141154
- Gate 1: V37 Conversations Roadmap And Spec Opening

0 commit comments

Comments
 (0)