Skip to content

Commit 9e4bf06

Browse files
Merge pull request #114 from engineeredsoftware/v37/gate-4-fullscreen-writing-workspace
V37 Gate 4: Conversation Writing Workspace
2 parents 621a432 + a1a1a81 commit 9e4bf06

24 files changed

Lines changed: 2787 additions & 21 deletions

.bitcode/v37-conversation-writing-workspace.json

Lines changed: 1174 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
@@ -115,6 +115,9 @@ jobs:
115115
if [ -f scripts/check-v37-gate3-conversation-stream-event-contracts.mjs ]; then
116116
node scripts/check-v37-gate3-conversation-stream-event-contracts.mjs --skip-branch-check
117117
fi
118+
if [ -f scripts/check-v37-gate4-conversation-writing-workspace.mjs ]; then
119+
node scripts/check-v37-gate4-conversation-writing-workspace.mjs --skip-branch-check
120+
fi
118121
fi
119122
else
120123
echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,9 @@ jobs:
244244
if [ -f scripts/check-v37-gate3-conversation-stream-event-contracts.mjs ]; then
245245
node scripts/check-v37-gate3-conversation-stream-event-contracts.mjs --skip-branch-check
246246
fi
247+
if [ -f scripts/check-v37-gate4-conversation-writing-workspace.mjs ]; then
248+
node scripts/check-v37-gate4-conversation-writing-workspace.mjs --skip-branch-check
249+
fi
247250
fi
248251
else
249252
echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2
@@ -333,6 +336,7 @@ jobs:
333336
tests/api/conversationSessionRouteHistoryContract.test.ts \
334337
tests/api/conversationStreamEventContract.test.ts \
335338
tests/conversationStreamPipelineLog.test.tsx \
339+
tests/conversationWritingWorkspace.test.tsx \
336340
tests/auxillariesExternalsPane.test.tsx \
337341
tests/profileStep.test.tsx \
338342
tests/api/readReviewRoute.test.ts \

BITCODE_SPEC_V37.md

Lines changed: 32 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 3 closes ConversationStreamEvent stream UI and event contracts over active V36 Exchange canon
6+
- V37 state: draft implementation; Gate 4 closes ConversationWritingWorkspace fullscreen writing mode and composer workspace 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`, and `.bitcode/v37-conversation-stream-event-contract.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, and Gate 3 package-owned ConversationStreamEvent stream UI/event 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`, and `.bitcode/v37-conversation-writing-workspace.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, and Gate 4 package-owned ConversationWritingWorkspace fullscreen writing 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`
@@ -107,6 +107,31 @@ package tests, route/UI tests, telemetry binding, docs, workflow wiring,
107107
source safety, event kind coverage, proof roots, disclosure posture, and
108108
fail-closed states.
109109

110+
## V37 Gate 4 ConversationWritingWorkspace writing canon
111+
112+
Gate 4 implements `ConversationWritingWorkspace` as the package-owned
113+
fullscreen writing contract for Website Conversations. It owns Read Request,
114+
Need feedback, AssetPack review note, and Terminal handoff summary drafting
115+
modes. It emits `.bitcode/v37-conversation-writing-workspace.json` with
116+
`source-safe-conversation-writing-workspace-metadata`, deterministic row roots,
117+
deterministic detail roots, mode ids, action ids, required field ids, proof
118+
roots, event ids, route-local draft keys, source evidence roots, and
119+
source-safe disclosure limits.
120+
121+
Conversation writing state is route-local workspace state. It can be saved,
122+
restored, summarized, and handed off from the fullscreen composer workspace.
123+
Saved drafts may remain in route-local browser storage for recovery, but
124+
summaries and handoff messages crossing the stream boundary are redacted
125+
source-safe metadata. Protected source, raw protected prompts, provider
126+
tokens, wallet private material, settlement private payloads, unpaid AssetPack
127+
source, and global ledger authority claims are never valid emitted workspace
128+
payloads. Terminal remains authoritative for transaction execution.
129+
130+
`check:v37-gate4` validates package source, generated artifact freshness,
131+
package tests, UI tests, docs, workflow wiring, source safety, mode/action
132+
coverage, route-local draft keys, keyboard behavior, responsive fullscreen
133+
layout, recovery states, proof roots, and source-safe handoff summaries.
134+
110135
## Inherited V36 Exchange canon
111136

112137
The promoted V36 sections below remain inherited canonical law for Exchange.
@@ -782,11 +807,15 @@ V36 inherits operator quality, visual/accessibility/performance posture, project
782807
| `.bitcode/v37-canonical-input-report.json` | Gate 1 | source-safe | V37 canonical-input checker |
783808
| `.bitcode/v37-canon-posture-drift-report.json` | Gate 1 | source-safe | V36 active / V37 draft posture checker |
784809
| `.bitcode/v37-conversation-session-route-history.json` | Gate 2 | source-safe | ConversationSession route-local history contracts |
810+
| `.bitcode/v37-conversation-stream-event-contract.json` | Gate 3 | source-safe | ConversationStreamEvent stream UI/event contracts |
811+
| `.bitcode/v37-conversation-writing-workspace.json` | Gate 4 | source-safe | ConversationWritingWorkspace fullscreen composer contracts |
785812

786813
### V37 specifying generated artifacts
787814

788815
Gate 1 requires `.bitcode/v37-spec-family-report.json`, `.bitcode/v37-canonical-input-report.json`, and `.bitcode/v37-canon-posture-drift-report.json` readiness.
789816
Gate 2 adds `.bitcode/v37-conversation-session-route-history.json` from the package-owned ConversationSession route-history builder with package tests, route tests, workflow checks, and source-safety checks.
817+
Gate 3 adds `.bitcode/v37-conversation-stream-event-contract.json` from the package-owned ConversationStreamEvent builder with package tests, route/UI tests, workflow checks, and source-safety checks.
818+
Gate 4 adds `.bitcode/v37-conversation-writing-workspace.json` from the package-owned ConversationWritingWorkspace builder with package tests, fullscreen workspace UI tests, workflow checks, and source-safety checks.
790819
Later V37 gates add Conversations generated artifacts only when their package-owned builders, route checks, stream tests, telemetry checks, and source-safety tests exist.
791820

792821
### Shared generated-artifact fields

BITCODE_SPEC_V37_DELTA.md

Lines changed: 11 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 3 ConversationStreamEvent stream UI/event contracts
6+
- V37 state: draft implementation; this delta records the V36-to-V37 Website Conversations opening through Gate 4 ConversationWritingWorkspace fullscreen writing 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`, and `.bitcode/v37-conversation-stream-event-contract.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
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`, and `.bitcode/v37-conversation-writing-workspace.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
1212
- Spec companion: `BITCODE_SPEC_V37.md`
1313
- Notes companion: `BITCODE_SPEC_V37_NOTES.md`
1414
- Parity companion: `BITCODE_SPEC_V37_PARITY_MATRIX.md`
@@ -109,6 +109,14 @@ Closure acceptance:
109109
- accessibility, keyboard behavior, responsive layout, and recovery states are tested;
110110
- `pnpm run check:v37-gate4` validates workspace contracts, UI tests, docs, telemetry, source-safety, and workflow wiring.
111111

112+
Gate 4 closure adds package-backed `ConversationWritingWorkspace` source,
113+
`.bitcode/v37-conversation-writing-workspace.json`,
114+
`source-safe-conversation-writing-workspace-metadata`, fullscreen workspace UI
115+
binding, Read Request, Need feedback, AssetPack review note, and Terminal
116+
handoff summary modes, save/restore/summarize/handoff actions, route-local
117+
draft keys, source-safe handoff summaries, package tests, UI tests, workflow
118+
wiring, and `check:v37-gate4`.
119+
112120
### Gate 5: Source Selectors And Context Policy
113121

114122
Gate 5 defines source selection inside Conversations.

BITCODE_SPEC_V37_NOTES.md

Lines changed: 18 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 2 closes ConversationSession route-local history contracts over active V36 Exchange canon
6+
- V37 state: draft implementation; Gate 4 closes ConversationWritingWorkspace fullscreen writing mode and composer workspace 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`, and `.bitcode/v37-conversation-session-route-history.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
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`, and `.bitcode/v37-conversation-writing-workspace.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
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.
@@ -71,6 +71,21 @@ posture, and fail-closed state.
7171
Gate 3 keeps gate-quality CI greenable by bounding the workflow runtime and
7272
running maintained targeted package tests inside the gate job.
7373

74+
## Gate 4 implementation notes
75+
76+
ConversationWritingWorkspace contracts are source-safe fullscreen composer
77+
contracts, not protected source storage or Terminal authority. Gate 4 adds
78+
`.bitcode/v37-conversation-writing-workspace.json`,
79+
`buildConversationWritingWorkspace`, the route-facing writing workspace helper,
80+
the fullscreen workspace component, package tests, UI tests, and
81+
`check:v37-gate4`.
82+
The required modes are Read Request, Need feedback, AssetPack review note, and
83+
Terminal handoff summary. The required actions are save, restore, summarize,
84+
and handoff. Draft recovery stays route-local; emitted summaries and handoff
85+
messages are redacted source-safe metadata only and must not expose protected
86+
source, provider tokens, private wallet material, unpaid AssetPack source,
87+
settlement private payloads, or global ledger authority claims.
88+
7489
## V37 gate plan
7590

7691
- Gate 1: V37 Conversations Roadmap And Spec Opening

0 commit comments

Comments
 (0)