Skip to content

Commit 606f97c

Browse files
wip v28
1 parent 5bfa71a commit 606f97c

54 files changed

Lines changed: 39072 additions & 114 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.

BITCODE_SPEC_V27_PARITY_MATRIX.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Fresh audit inputs:
2828
- `BITCODE_SPEC_V27_DELTA.md`
2929
- `BITCODE_SPEC_V27_NOTES.md`
3030
- `BITCODE_SPEC_V27_PARITY_MATRIX.md`
31-
- `protocol-demonstration/V26_APPLICATION_SYSTEMS.md`
31+
- `protocol-demonstration/V26_TERMINAL_SYSTEMS.md`
3232
- `protocol-demonstration/V26_PROOF_SURFACES.md`
3333
- `packages/btd/src/constants.ts`
3434
- `packages/btd/src/index.ts`

BITCODE_SPEC_V28_NOTES.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,12 @@ The same pass also reclassified active `orbitals` naming as legacy residue when
129129
Redirect-only `/orbitals/*` compatibility can remain documented as compatibility until it is removed, and old stylesheet class names can remain temporarily only where they are inert styling carriers.
130130
Active product language and touched implementation should converge on Auxillaries.
131131

132+
V28 also owns the first hard separation between the standalone protocol demonstration and commercial Bitcode runtime source.
133+
The demonstration remains a sibling reference implementation and proof witness, not a workspace package that commercial UAPI can import.
134+
Commercial source must import formal protocol primitives from `packages/protocol` / `@bitcode/protocol`, and the UAPI Terminal witness must read formal protocol package assets rather than `protocol-demonstration/public`.
135+
The standalone `protocol-demonstration` runtime must not import UAPI or commercial packages; proof tests may continue to read commercial source as audit material only when the read is explicitly a parity/proof source-read, not a runtime dependency.
136+
V28 closes this as a boundary baseline; V29 must continue commercializing freshly ported protocol internals into cleaner packages and narrower APIs.
137+
132138
## Promotion Review Basis
133139

134140
The V28 handoff is grounded in:
@@ -163,6 +169,7 @@ They are V28 inputs because V27 closed the protocol law and minimum crypto-comme
163169
| External VCS providers beyond GitHub remain incomplete or not started | V27 does not require broad third-party provider completion, and V28 is MVP QA | Keep V28 provider UX honest about GitHub-only readiness and hand off broader provider readiness to the later product version that owns the affected surface |
164170
| Auxillaries still mixes old orbital-era shell styles with the active contained tabs-left experience | V27 closed protocol law, not full commercial application visual QA | Remove or strictly contain conflicting `orbital-*` layout/background classes from active Auxillaries auth/profile/readiness paths, preserve only reusable aesthetic pieces that do not control commercial layout, and prove with desktop/mobile screenshots |
165171
| V26 proof generator and older promotion scripts still contain version-specific historical logic | V27 accepted generated-equivalent proof artifacts rather than fully modernizing promotion automation | Decide whether V28 should update proof generation for V28+ families or leave older promotion scripts as historical tooling |
172+
| Some formal protocol package internals are freshly ported from the standalone demonstration | V28 needs a commercial import boundary before it can finish all deeper package refactors | Keep commercial UAPI imports on `@bitcode/protocol`, keep `protocol-demonstration` out of the workspace build graph, and defer narrower package extraction/commercialization to V29 Terminal depth unless it blocks V28 MVP QA |
166173

167174
## V28 Gate Sketch
168175

@@ -178,6 +185,7 @@ The minimum useful V28 gate plan is commercial-application-MVP-first:
178185
- QA primary active routes and navigation.
179186
- Remove Auxillaries old orbital shell conflicts from active contained tabs-left paths.
180187
- Harden Exchange MVP activity/search/detail/range-acquisition readiness.
188+
- Separate commercial runtime imports from the standalone protocol demonstration and remove the demonstration from the workspace build graph.
181189
- Capture desktop/mobile visual proof for sign-in, create-account, signed-in profile, Exchange, Terminal, and BTD range disclosure.
182190

183191
3. **Gate 3: Terminal Wallet, BTC Fee, And Need-Fit-Measuremint Workflow**
@@ -218,7 +226,9 @@ Before V28 implementation closes, rerun at minimum:
218226
- `rg -n 'gap blocking|partial blocking|not started|not promoted|not generated yet' BITCODE_SPEC_V28*`
219227
- `pnpm -C packages/api build`
220228
- `pnpm -C packages/orm build`
221-
- `pnpm -C protocol-demonstration test:v27-crypto`
229+
- `npm --prefix protocol-demonstration run test:v27-crypto`
230+
- `node --test --test-force-exit protocol-demonstration/test/v28-boundary-separation.test.js`
231+
- `pnpm -C uapi exec jest --runInBand tests/protocolCommercialBoundary.test.ts`
222232
- Commercial application and Terminal-specific Jest/Playwright coverage once added
223233
- `pnpm -C uapi build`
224234
- `git diff --check`

BITCODE_SPEC_V28_PARITY_MATRIX.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ Audit query classes:
115115
| Exchange BTD widget landing stays at top-level Exchange entry | `uapi/app/exchange/ExchangePageClient.tsx`, `uapi/tests/exchangePageClient.test.tsx`, `protocol-demonstration/test/v28-commercial-mvp-qa.test.js` | closed for current micro-interface | Gate 2 |
116116
| Auxillaries old orbital shell conflicts removed from active contained tabs-left experience | May 7 manual QA reports no active old orbital shell collision and selectable panes; `BITCODE_V28_QA.md` records remaining V28 polish for visible `lane ready` / `lane active` prose, hierarchy, legibility, spacing, and border cleanup | partial; old orbital conflict appears closed, Auxillaries shell polish remains pending | Gate 2 |
117117
| Active Auxillaries naming avoids `orbitals` residue | `uapi/config/featureFlags.ts`, `uapi/lib/mock-review-mode.ts`, `uapi/app/terminal/TerminalOpenAuxillariesButton.tsx`, `uapi/components/base/bitcode/layout/user-menu.tsx`, and related tests now use Auxillaries naming; redirect-only `/orbitals/*` compatibility and inert stylesheet carriers remain bounded as compatibility/styling until separately removed | partial; active touched names closed, remaining CSS/compatibility carriers tracked for later cleanup | Gate 2 |
118+
| Standalone demonstration and commercial protocol source are separated | `packages/protocol` is the formal commercial protocol package; `uapi/package.json` depends on `@bitcode/protocol`; `pnpm-workspace.yaml` no longer includes `protocol-demonstration`; `uapi/tests/protocolCommercialBoundary.test.ts` and `protocol-demonstration/test/v28-boundary-separation.test.js` lock no commercial imports from the standalone demonstration and no demonstration runtime imports from commercial packages/UAPI | closed for V28 boundary baseline; V29 owns deeper commercialization of freshly ported package internals | Gate 2 |
118119
| Terminal big-picture operator orientation | `/terminal`, `uapi/app/terminal/TerminalTransactionWorkspace.tsx`, `uapi/app/terminal/TerminalMvpMap.tsx`, `uapi/components/base/bitcode/execution/BitcodeTransactionsOverview.tsx`, and `uapi/tests/e2e/commercial-mvp.terminal.spec.ts` now frame Terminal as recent/scoped Give/Need activity plus selected result, not Exchange master-detail; bare `/terminal` no longer auto-mutates during public nav while explicit route context remains addressable, and the old Terminal route redirects without becoming a canonical product route | partial; architectural correction, route-stability fixes, and known digest action no-ops implemented, next manual QA must judge digestibility | Gate 2 / Gate 3 |
119120
| Source names remain implicitly versioned to active canon | `AGENTS.md`, `uapi/app/terminal/demonstration-witness-scoped-styles/route.ts`, `uapi/app/terminal/demonstration-witness-styles/route.ts`, `uapi/app/terminal/demonstration-witness-scoped-styles/route.ts`, `uapi/app/terminal/demonstration-witness-styles/route.ts`, `uapi/app/terminal/demonstration-witness-theme-overrides.ts`, and `uapi/tests/demonstrationWitnessScopedStylesRoute.test.ts` replace explicit gate-named stylesheet route/source carriers with precise unversioned demonstration-witness names | closed for touched active UAPI demonstration witness stylesheet source | Gate 2 |
120121
| Exchange MVP activity/search/detail/range-acquisition readiness | `uapi/app/exchange/ExchangePageClient.tsx`, `uapi/app/terminal/TerminalTransactionWorkspace.tsx`, `uapi/app/terminal/TerminalTransactionDetailSurface.tsx`, `/btd/[assetPackId]`, and `uapi/tests/e2e/commercial-mvp.btd-exchange.spec.ts` now bind Exchange to a master table/search/filter pane plus named selected detail pane with table facts, non-column facts, payload, proof, AssetPack, and history paths | closed for V28 Exchange master-detail MVP; V30 owns deeper market mechanics | Gate 2 |

BITCODE_SPEC_V29_NOTES.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@ V29 owns deeper Terminal:
4444
- V29 should improve Terminal copy, hierarchy, explanatory precision, and operator sequencing around Give, Need, Fit, proof, AssetPack, BTC fee posture, BTD range/read-right posture, and selected activity detail.
4545
- This is not a V28 blocker unless specific wording prevents a user from completing basic V28 MVP navigation or materially misstates Bitcode law.
4646
- May 7, 2026 follow-up QA clarified that Exchange, not Terminal, owns the master-detail product pattern. V28 must fix that MVP architecture and any obvious dead/ambiguous click targets; V29 should then deepen Terminal-specific sequencing, density management, task progression, and richer Give/Need result reading without reintroducing Exchange master-detail language.
47+
- V28 introduces a formal `@bitcode/protocol` package and removes direct commercial imports from the standalone `protocol-demonstration`, but some package internals are intentionally fresh ports for parity. V29 must continue commercializing those demonstration-origin internals into formal packages, narrower APIs, durable package tests, and Terminal-owned protocol adapters.
48+
- The standalone `protocol-demonstration` should remain a sibling reference guide and proof witness outside the workspace build graph. V29 should use it to reveal commercial implementation gaps, not as runtime code imported by commercial UAPI, Terminal, Exchange, Auxillaries, MCP, ChatGPT App, or package consumers.
4749

4850
## Boundaries
4951

5052
V29 deepens Terminal only after V28 establishes commercial MVP coherence.
5153
It must not absorb V30 Exchange depth, V31 Auxillaries depth, V32 provation/testing depth, V33 interface finalization, V34 deployment depth, or V35 telemetry/documentation depth except for narrow Terminal-owned hooks.
5254

55+
V29 must also avoid reopening V28's demonstration/commercial boundary.
56+
Any Terminal feature that currently depends on freshly ported demonstration-origin modules should be formalized in-place inside commercial packages or replaced with package-native primitives, while the standalone demonstration stays a reference implementation.
57+
5358
## Return To V28
5459

5560
Do not start V29 implementation during V28.

BITCODE_V26_QA.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Purpose
44

5-
This guide records human QA for the V26 commercial promotion. It focuses on the website application and the commercial implementation of the Bitcode demonstration protocol.
5+
This guide records human QA for the V26 commercial promotion. It focuses on the website product and the commercial implementation of the Bitcode demonstration protocol.
66

77
Use this document to collect observations the repository cannot infer locally: browser behavior, wallet/provider account state, live API responses, database rows, network failures, and whether the commercial UI actually teaches Bitcode rather than old Engi or generic agentic SWE concepts.
88

@@ -32,7 +32,7 @@ Record this once per QA pass.
3232
Use the dev-server URL reported by the agent. For testnet validation, prefer:
3333

3434
```text
35-
/application?environmentMode=testnet&bitcodeDebug=1
35+
/terminal?environmentMode=testnet&bitcodeDebug=1
3636
```
3737

3838
If the server falls back to a different port, keep the same path and query string.
@@ -46,23 +46,23 @@ Every issue should connect to at least one of these questions.
4646
| Spec alignment | Does the product behave like a commercial extension of `protocol-demonstration/`, not a separate product or old Engi flow? |
4747
| Inference | Do prompts, contexts, model/provider calls, and completion payloads use Need, AssetPack evidence, Finish, Shippables, BTC fees, and non-fungible `$BTD` precisely? |
4848
| AssetPack pipeline | Are `assetPackSynthesisArtifacts` / `writtenAssets` evidence-only, while `shippables` / `deliveryMechanism` represent GitHub pull-request delivery only? |
49-
| Terminal | Can a user express a Need, anchor repository context, inspect activity, reread evidence, and understand closure without leaving `/application`? |
49+
| Terminal | Can a user express a Need, anchor repository context, inspect activity, reread evidence, and understand closure without leaving `/terminal`? |
5050
| Exchange | Are existing V26 Exchange surfaces minimum viable and scoped, without pretending V27/V28 tokenomics, Terminal, or market depth is complete? |
5151
| Wallet and balances | Does the top-right balance distinguish BTC fee liquidity from non-fungible `$BTD` share/read-right holdings? |
5252
| Providers | Do GitHub, wallet, MCP, ChatGPT App, and API surfaces fail closed when authorization or repository context is missing? |
5353
| Storage | Do database rows preserve Bitcode fields and avoid resurrecting old deliverable/product vocabulary except as physical retained table identifiers? |
5454
| Proof | Do visible proof/status/readiness claims match actual route, database, network, and UI behavior? |
5555

56-
## Website Application QA
56+
## Website Product QA
5757

58-
Start at `/application?environmentMode=testnet&bitcodeDebug=1`.
58+
Start at `/terminal?environmentMode=testnet&bitcodeDebug=1`.
5959

6060
1. Load the page signed out.
6161
- Record load time, visible route, console errors, and whether any old Engi, generic developer-platform, or deprecated "deliverables" language is visible.
62-
- Confirm `/application` is the primary product surface and not a marketing wrapper around a demo.
62+
- Confirm `/terminal` is the primary product surface and not a marketing wrapper around a demo.
6363

6464
2. Sign in.
65-
- Record provider used and whether the app lands back on `/application`.
65+
- Record provider used and whether the app lands back on `/terminal`.
6666
- Confirm auth, Profile, Connects, Interfaces, and `$BTD` surfaces use Bitcode naming.
6767

6868
3. Inspect the top-right balance widget.
@@ -146,7 +146,7 @@ If you inspect Supabase or local database state, collect row ids and field names
146146
| generated assets | AssetPack evidence and file-change metadata |
147147
| vector storage | AssetPack evidence embeddings; retained physical table names are acceptable only as storage identifiers |
148148
| user BTD tables | `$BTD` holdings/read-rights, not fungible credit spend |
149-
| notifications/email rows | AssetPack completion, measured `$BTD`, BTC fee posture, `/application?transactionId=...` links |
149+
| notifications/email rows | AssetPack completion, measured `$BTD`, BTC fee posture, `/terminal?transactionId=...` links |
150150

151151
Flag any current API/UI field named `deliverables`, `finalWorkSummary`, `credits` as product denomination, `$ENGI`, or `ENGI`.
152152

@@ -199,7 +199,7 @@ Blocking / high / medium / low
199199

200200
| Area | Pass / fail | Blocking issue ids |
201201
| --- | --- | --- |
202-
| Website application | | |
202+
| Website product | | |
203203
| Need review | | |
204204
| AssetPack run | | |
205205
| Finish PR delivery | | |

BITCODE_V28_QA.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,22 @@ Implemented after Pass 2, pending next manual QA confirmation:
103103
| Direct `/conversations` fullscreen exit returns deterministically to `/terminal`. | Focused Conversations E2E passes; full commercial MVP E2E passes. |
104104
| Bare Terminal route no longer auto-mutates its URL during load, while explicit route context and user selections still remain URL-addressable. | Public stitched navigation route spec passes 5-repeat focused verification and the full commercial MVP suite. |
105105
| Terminal transaction search keeps the typed value stable while URL-backed filter state updates. | Focused Terminal activity-search E2E passes; full commercial MVP E2E passes. |
106-
| Active `/application` route/import/runtime compatibility artifacts are absent from commercial source scans. | Source scans show no active `/application`, `app/application`, or application shell runtime names outside explicit historical spec notes and framework error patterns. |
107-
| Protocol-demonstration client-entry, public mount globals, UAPI demonstration witness mocks, and demonstration state title use demonstration vocabulary rather than application shell vocabulary. | Runtime/API scans show no application-shell names across active demonstration entrypoints. |
106+
| Retired generic workspace route/import/runtime compatibility artifacts are absent from commercial source scans. | Source scans show no active retired route, generic workspace subtree, or retired-shell runtime names outside explicit historical spec notes and framework error patterns. |
107+
| Protocol-demonstration client-entry, public mount globals, UAPI demonstration witness mocks, and demonstration state title use demonstration vocabulary rather than retired shell vocabulary. | Runtime/API scans show no retired shell names across active demonstration entrypoints. |
108+
| Standalone demonstration is not a commercial runtime dependency. | `@bitcode/protocol` is the commercial dependency, UAPI source/tests no longer import `@bitcode/protocol-demonstration`, Terminal witness routes read `packages/protocol/public`, `protocol-demonstration` is outside `pnpm-workspace.yaml`, and bidirectional boundary tests are added. |
108109

109110
Automated verification after this implementation pass:
110111

111-
- `pnpm -C uapi exec tsc --noEmit --pretty false`: pass.
112+
- `pnpm -C uapi exec tsc --noEmit --pretty false`: pass after the formal protocol package split.
112113
- `pnpm -C uapi run test:e2e:commercial-mvp`: 50 passed after Conversations streaming, Conversations exit, and Terminal transaction-search stabilization.
113-
- `pnpm -C protocol-demonstration test:integration`: 58 passed after demonstration title/posture cleanup.
114-
- `pnpm -C protocol-demonstration test:v28-commercial-mvp-qa`: 6 passed after demonstration title/posture cleanup.
114+
- `npm --prefix protocol-demonstration run test:integration`: 58 passed after standalone demonstration/package-boundary cleanup.
115+
- `npm --prefix protocol-demonstration run test:v27-crypto`: 9 passed after standalone demonstration/package-boundary cleanup.
116+
- `npm --prefix protocol-demonstration run test:v28-commercial-mvp-qa`: 8 passed after adding the boundary-separation checks.
117+
- `pnpm -C uapi exec jest --runInBand tests/demonstrationWitnessMount.test.tsx tests/demonstrationWitnessScopedStylesRoute.test.ts tests/terminalPreservedShellSurface.test.tsx tests/terminalShellBridge.test.tsx tests/marketingLandingPage.test.tsx tests/api/needReviewProtocolParity.test.ts tests/api/bitcodeAppContextOptions.test.ts tests/protocolCommercialBoundary.test.ts`: 18 passed after the formal protocol package split.
118+
- `node --test --test-force-exit protocol-demonstration/test/v28-boundary-separation.test.js`: 2 passed after the formal package split.
119+
- `pnpm -C packages/protocol test`: 1 passed after the formal package split.
120+
- `pnpm -C packages/protocol run typecheck`: pass after adding the formal package typecheck config.
121+
- `pnpm -C uapi exec jest --runInBand tests/protocolCommercialBoundary.test.ts`: 3 passed after the formal package split.
115122

116123
Deferred to V29 from this pass:
117124

internal-docs/BITCODE_EXECUTIONS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,4 @@ Operators should be able to:
4848
- Replace output-object-first labels with AssetPack or written-asset labels.
4949
- Replace pre-Finish labels with Finish and delivery-mechanism labels.
5050
- Keep computer-use hidden unless the server admits it internally for Need measurement.
51-
- Ensure all execution UI reads from the same Exchange activity model as `/application`.
51+
- Ensure all execution UI reads from the same Exchange activity model as `/terminal`.

internal-docs/BITCODE_FRONTEND_ARCHITECTURE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Status: non-canonical internal note.
55
## Product Surfaces
66

77
V26 frontend architecture is organized around:
8-
- Bitcode Terminal at `/application`,
8+
- Bitcode Terminal at `/terminal`,
99
- Bitcode Exchange activity, Transactions, and history surfaces,
1010
- conversations as rich input overlays,
1111
- auxillaries for identity/readiness,

0 commit comments

Comments
 (0)