Skip to content

Commit 6d329d5

Browse files
V48 (impl-only): Rename Packs→Exchange and AssetPack→DataPack UI
Move experience tree to components/exchange (Packs*→Exchange*), keep /packs as compat redirect. Product copy and chrome use DataPack(s); domain packages and wire type ids remain AssetPack for API stability.
1 parent 94e4da7 commit 6d329d5

191 files changed

Lines changed: 861 additions & 859 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.

.docs/AGENTS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
- Never explicitly version source code without direct instruction. Source code is always implicitly versioned to the active Bitcode canon and current gate; routes, file names, CSS files, constants, classes, API paths, tests, and implementation identifiers must be written in-place as the single current Bitcode system. Do not introduce names such as `api/v1`, `v27-*`, `first-gate-*`, `wip-*`, or similar version/gate/work-in-progress source constructs unless explicitly directed for a bounded compatibility artifact.
66
- Do not implement from historical/superseded materials. The monorepo no longer carries a `_legacy/` tree; living law is under `.specifications/` and current source only.
77
- **Source layout and modularity (required):** follow `.docs/BITCODE_SOURCE_LAYOUT.md` and `apps/uapi/components/README.md`. Dependency direction is `packages` → Bitcode/Shadcn adapters → experience components → thin `apps/uapi/app` page shells. Seven experiences (Marketing, Exchange, Reads, Deposits, Docs, Conversations, Auxillaries) plus `Shadcn*` / `Bitcode*` bases. New components live in **named directories** (`ComponentName/ComponentName.tsx` — not `index.tsx`) with co-located `hooks/`, `styles/`, `__tests__/`. Prefer packages for pure domain logic. Product run language is **Pipeline** (UI/product); BTD ledger language is **journal**. Product routes are Exchange, Deposits, Reads, and Docs only.
8-
- **Product identity renames are totalistic (required learning):** when a **product experience name or route** changes (example: Packs → Exchange / `/packs``/exchange`), do **not** stop at nav labels, page chrome, or a single SSOT constant. Close the rename as one complete surface in the **same change set**:
8+
- **Product identity renames are totalistic (required learning):** when a **product experience name or route** changes (example: Packs → Exchange / `/exchange``/exchange`), do **not** stop at nav labels, page chrome, or a single SSOT constant. Close the rename as one complete surface in the **same change set**:
99
1. **Canonical SSOT** — route constants, builders, overlays, post-auth landings, invite/callback redirects, deep-link hosts, workspace/nav surface unions and comparisons.
1010
2. **Compat is intentional and one-way** — retired paths may remain only as redirects/emitters that land on the **new** canon; never leave production redirects or primary assertions pointing at the old path.
1111
3. **Tests assert the new canon** — every expectation of the retired path is either updated to the new path or explicitly re-scoped as a **compat-only** case (and named as such). Grep the retired path/token across `apps/`, `packages/`, and `tests/` before calling the rename done.
1212
4. **Types must admit the new identity** — e.g. `NavSurface` / workspace unions must include the new surface or TS will green-wash dead comparisons and fail CI later.
1313
5. **Full living CI is the bar** — lint + `tsc` + Next build + **Jest** (not typecheck alone). Stale `/old-route` expectations are a rename bug, not “follow-up.”
14-
Commodity language (e.g. **AssetPack**) is **not** a product route rename and must not be casually rewritten with the experience name. Partial renames that leave “remaining old paths” for CI to discover are poor development — treat them as incomplete work, not acceptable debt.
15-
- **Hierarchy naming law (required):** anything based on / extending / specializing a primitive must use **full ancestry names** left→right (primitive → base → specific) in **types, factories, exports, and file names**. Anything based on the **Execution** primitive must include `Execution` (e.g. `ExecutionPipeline`, `ExecutionPipelineSDIVFExecutionPhaseDelegator`, `ExecutionPipelineSDIVFSynthesizeReadAssetPacks`, `execution-pipeline-sdivf-factory.ts`). **Phases** are exclusively `ExecutionPipelineSDIVF` concepts (`ExecutionPipelineSDIVFExecutionPhase*`) under `generic-pipelines/execution-pipeline-sdivf`; `pipelines-generics` is primitives only. No leaf-only labels for layered types. See `.docs/BITCODE_SOURCE_LAYOUT.md` §6.0 and `.docs/FAMILIARIZATION.md` §3.3.
14+
Commodity language (e.g. **DataPack**) is **not** a product route rename and must not be casually rewritten with the experience name. Partial renames that leave “remaining old paths” for CI to discover are poor development — treat them as incomplete work, not acceptable debt.
15+
- **Hierarchy naming law (required):** anything based on / extending / specializing a primitive must use **full ancestry names** left→right (primitive → base → specific) in **types, factories, exports, and file names**. Anything based on the **Execution** primitive must include `Execution` (e.g. `ExecutionPipeline`, `ExecutionPipelineSDIVFExecutionPhaseDelegator`, `ExecutionPipelineSDIVFSynthesizeReadDataPacks`, `execution-pipeline-sdivf-factory.ts`). **Phases** are exclusively `ExecutionPipelineSDIVF` concepts (`ExecutionPipelineSDIVFExecutionPhase*`) under `generic-pipelines/execution-pipeline-sdivf`; `pipelines-generics` is primitives only. No leaf-only labels for layered types. See `.docs/BITCODE_SOURCE_LAYOUT.md` §6.0 and `.docs/FAMILIARIZATION.md` §3.3.
1616
- **Codebase familiarization:** read `.docs/FAMILIARIZATION.md` for the package catalog, uapi request path, and the inheritance pattern `*-generics` primitives → `generic-*` base implementations → product specializations (agents, tools, pipelines, prompts, LLMs). **Keep `.docs/FAMILIARIZATION.md` up to date with changes** (`.specifications/BITCODE_SPECIFYING.md` §16.3.1): any change that moves package families, inheritance hierarchy, experience entry paths, product routes, or other structure the guide teaches must update `.docs/FAMILIARIZATION.md` in the same change set (accurate short section edits preferred).
1717
- Highest caliber software engineering crafstmanship (maintainibility, abstractions, architectures, naming, patterns, comments, documentation, structures, algorithmic and data flow designs, UI/UX, etc.), correctness (specification and implementation precision, reliability, completeness, boundaried, scoped, encapsulated, etc.), and auditable (totalistic proofs systems from static code, build time, runtime, etc. etc. as is Bitcode, tests from unit, integration, E2E, linting and building, etc.). Every non-trivial file carries a top-of-file overview comment; obey SRP and DRY; co-locate unit tests with components when practical.
1818
- Do not push work directly to `main`. Create a version base branch for each draft target, such as `version/v28`, then create scoped gate branches from that version branch. Gate branches must be prefixed with the gate number, such as `v28/gate-3-read-fit-workflow` or `v28/gate-8-promotion-proof`. Pull-request each closed gate back into the version branch. Pull-request the version branch into `main` only when all gates are closed and the version is formally promoted as canon. The default branch is protected by the `Bitcode Core Contributions` ruleset and requires pull requests plus verified signatures.
19-
- Gate pull request titles must begin with the uppercase version and gate prefix, followed by a concise topical title, for example `V29 Gate 5: AssetPack Disclosure Rights And Preview Depth`. Version-promotion pull requests must begin with the uppercase version and name canonical promotion.
19+
- Gate pull request titles must begin with the uppercase version and gate prefix, followed by a concise topical title, for example `V29 Gate 5: DataPack Disclosure Rights And Preview Depth`. Version-promotion pull requests must begin with the uppercase version and name canonical promotion.
2020
- Every commit and gate pull-request **subject line** must declare its Spec/Impl category as a short parenthetical immediately after the version and gate prefix — exactly one of **`(spec-only)`**, **`(impl-only)`**, or **`(spec-impl)`**. Spec and Impl are always abbreviated in that parenthetical; expanded forms are illegal in subjects:
2121
- `(spec-only)` — Spec only (`BITCODE_SPEC_*` family / version notes)
2222
- `(impl-only)` — Impl only (code, tests, tooling, scripts)

.docs/APPS.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ launch-freeze. Domain packages live under `packages/`. Engineering craft:
1010
[`.docs/AGENTS.md`](./AGENTS.md). Package map:
1111
[`.docs/FAMILIARIZATION.md`](./FAMILIARIZATION.md). Layout:
1212
[`.docs/BITCODE_SOURCE_LAYOUT.md`](./BITCODE_SOURCE_LAYOUT.md). Security:
13-
[`.docs/SECURITY.md`](./SECURITY.md). AssetPack measurement orientation:
13+
[`.docs/SECURITY.md`](./SECURITY.md). DataPack measurement orientation:
1414
[`.docs/ASSET_PACKS.md`](./ASSET_PACKS.md).
1515

1616
---
@@ -21,7 +21,7 @@ launch-freeze. Domain packages live under `packages/`. Engineering craft:
2121
| --- | --- |
2222
| Launch surface | Generally available **website MVP** on **staging-testnet** |
2323
| Settlement money | **BTC-testnet** only; value-bearing **mainnet blocked** until future canon |
24-
| Sellable unit | **AssetPack** = synthesized **patch + measurements + metadata** (never raw unpaid source) |
24+
| Sellable unit | **DataPack** = synthesized **patch + measurements + metadata** (never raw unpaid source) |
2525
| Product language | **Pipeline** = product runs; **journal** = BTD ledger language |
2626
| Source-safety | No protected/raw source, unpaid pack source, raw prompts/provider bodies, credentials, or private settlement payloads on product surfaces |
2727
| Identity | Wallet (Bitcoin OAuth / Auxillaries), Supabase session, GitHub App for source connections |
@@ -93,16 +93,16 @@ page client → page client; **never** packages → apps.
9393
| Route / surface | Owner | V48 commercial role |
9494
| --- | --- | --- |
9595
| `/` | Marketing | Landing / public launch messaging |
96-
| `/deposits` | Deposits | **IP seller:** connect source → **SynthesizeDepositAssetPacks (SDIVF)** → source-safe option review → Depository admission → compensation readback |
96+
| `/deposits` | Deposits | **IP seller:** connect source → **SynthesizeDepositDataPacks (SDIVF)** → source-safe option review → Depository admission → compensation readback |
9797
| `/reads` | Reads | **IP buyer:** Read Request → Need comprehension/resynthesis → Fits finding → source-safe preview → quote → **BTC-testnet settle** → BTD rights → delivery |
98-
| `/packs` | Packs | Searchable **PackActivity** master-detail (deposits, reads, previews, quotes, settlements, rights, delivery, compensation, repairs, proof roots, history) |
98+
| `/exchange` | Packs | Searchable **PackActivity** master-detail (deposits, reads, previews, quotes, settlements, rights, delivery, compensation, repairs, proof roots, history) |
9999
| `/docs` | Docs | Public product documentation |
100100
| Auxillaries | Auxillaries | Identity, org/teams, **wallet**, GitHub/externals, interfaces, histories |
101101
| Conversations | Conversations | Structure retained; **full commercial UX deferred** post-V48 |
102102

103103
**Compatibility (not product homes):**
104104

105-
- Legacy `/exchange` (and similar cockpit paths) route into **`/packs`**.
105+
- Legacy `/exchange` (and similar cockpit paths) route into **`/exchange`**.
106106
- Dead cockpit-only modules are deleted; do not rebuild Terminal or exchange
107107
cockpit as product.
108108

@@ -116,17 +116,17 @@ callback, GitHub App install/callback). Settlement money is **BTC-testnet**.
116116
```
117117
Depositor (/deposits)
118118
connect source + Obfuscations
119-
SynthesizeDepositAssetPacks (SDIVF)
119+
SynthesizeDepositDataPacks (SDIVF)
120120
→ source-safe option select / admit to Depository
121-
→ /packs activity + compensation expectation
121+
→ /exchange activity + compensation expectation
122122
123123
Reader (/reads)
124124
Read Request → Need → Fits
125125
→ source-safe preview → quote
126126
→ BTC-testnet settlement → BTD rights → delivery
127-
→ /packs activity
127+
→ /exchange activity
128128
129-
Operator (Auxillaries + /packs)
129+
Operator (Auxillaries + /exchange)
130130
wallet / GitHub authenticity, histories, portfolio readback
131131
```
132132

@@ -142,9 +142,9 @@ V48 product pipelines that the website drives:
142142

143143
| Pipeline | Pattern | Purpose |
144144
| --- | --- | --- |
145-
| **SynthesizeDepositAssetPacks** | **SDIVF** | Depositor repo (+ Obfuscations) → measured AssetPack **options** on `/deposits` |
146-
| **SynthesizeReadAssetPacks** | **SDIVF** | Reader repo + **Need** → option path on `/reads` |
147-
| **settle-asset-pack** (and related) | Linear / simple | Post-buy: BTC settle → BTD mint/rights → delivery; **1:1 AssetPack : run** where SPEC requires |
145+
| **SynthesizeDepositDataPacks** | **SDIVF** | Depositor repo (+ Obfuscations) → measured DataPack **options** on `/deposits` |
146+
| **SynthesizeReadDataPacks** | **SDIVF** | Reader repo + **Need** → option path on `/reads` |
147+
| **settle-asset-pack** (and related) | Linear / simple | Post-buy: BTC settle → BTD mint/rights → delivery; **1:1 DataPack : run** where SPEC requires |
148148

149149
**SDIVF** = Setup → Discovery → Implementation → Validation → Finish — the
150150
**phased corridor** for synthesis pipelines (`packages/asset-packs-pipelines`).
@@ -244,5 +244,5 @@ source-safety or auth boundaries while they remain in-tree.
244244

245245
---
246246

247-
**V48 website launch entrypoints:** `/deposits`, `/reads`, `/packs`, Auxillaries
248-
**Settlement:** BTC-testnet · **Rights:** BTD · **Unit:** AssetPack · **Safety:** source-safe always
247+
**V48 website launch entrypoints:** `/deposits`, `/reads`, `/exchange`, Auxillaries
248+
**Settlement:** BTC-testnet · **Rights:** BTD · **Unit:** DataPack · **Safety:** source-safe always

.docs/ASSETPACK_EXECUTION.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
1-
# Bitcode AssetPack Execution Notes
1+
# Bitcode DataPack Execution Notes
22

33
Status: non-canonical internal note. Canonical requirements live only in `BITCODE_SPEC_V26.md` and its V26 companion proof/specification family after promotion.
44

55
## Purpose
66

7-
AssetPack execution is the retained implementation corridor that turns a measured and accepted Read into source-to-shares outputs.
7+
DataPack execution is the retained implementation corridor that turns a measured and accepted Read into source-to-shares outputs.
88

99
The operator-facing product meaning is:
1010
- Bitcode gathers source, repository scope, attachments, and output destination intent.
1111
- Bitcode Exchange measures a Read from that evidence.
1212
- The measured Read is reviewable before fitting.
1313
- Accepted Reads can search for source-to-shares fit.
14-
- Implementation produces AssetPack synthesis artifacts and stored AssetPack evidence.
14+
- Implementation produces DataPack synthesis artifacts and stored DataPack evidence.
1515
- Finish saves the result and delivers the V26 Shippable through a GitHub pull request.
1616

1717
## Current Source Carriers
1818

1919
- `apps/uapi/app/executions/*` remains a compatibility execution surface used by the Bitcode.
20-
- `packages/api/src/routes/shippables.ts` remains the main server execution route while its product meaning is AssetPack execution and PR Shippables.
21-
- `packages/asset-packs-pipelines/{domain,syntheses/domain,syntheses/deposit,syntheses/read,settle}` is the live layout for AssetPack pipelines (all-3 / both-synths / product co-location); the predecessor package path is no longer an active filesystem owner.
20+
- `packages/api/src/routes/shippables.ts` remains the main server execution route while its product meaning is DataPack execution and PR Shippables.
21+
- `packages/asset-packs-pipelines/{domain,syntheses/domain,syntheses/deposit,syntheses/read,settle}` is the live layout for DataPack pipelines (all-3 / both-synths / product co-location); the predecessor package path is no longer an active filesystem owner.
2222
- `packages/execution-generics/*`, `packages/pipelines-generics/*`, `packages/agent-generics/*`, and `packages/prompts/*` provide the reusable execution, registry, and prompt substrate.
2323

24-
Storage-edge compatibility names are not product vocabulary. Any later SPEC promotion should describe the product as Bitcode Read measurement, fit review, AssetPack synthesis, Finish, and delivery mechanisms.
24+
Storage-edge compatibility names are not product vocabulary. Any later SPEC promotion should describe the product as Bitcode Read measurement, fit review, DataPack synthesis, Finish, and delivery mechanisms.
2525

2626
## Product Flow
2727

2828
1. Source anchoring binds provider, repository, branch, commit, attachments, and operator intent.
2929
2. Read measurement synthesizes a reviewable Read from source evidence.
3030
3. Read review emits accept, reject, or remeasure-with-feedback state before fitting is admitted.
3131
4. Fit search ranks candidates with quantized objective qualities visible at review time.
32-
5. AssetPack synthesis produces code diffs, written assets, proofs, receipts, and settlement metadata.
33-
6. Finish saves the AssetPack result and calls delivery-mechanism tools only after validation.
32+
5. DataPack synthesis produces code diffs, written assets, proofs, receipts, and settlement metadata.
33+
6. Finish saves the DataPack result and calls delivery-mechanism tools only after validation.
3434
7. Packs and Exchange history reread the same execution, proof, and settlement state.
3535

3636
## V26 Boundaries
@@ -44,8 +44,8 @@ Storage-edge compatibility names are not product vocabulary. Any later SPEC prom
4444
## SPEC Promotion Obligations
4545

4646
When these notes are lifted into canonical specification, the SPEC must state:
47-
- AssetPacks are the stable output unit.
48-
- Delivery mechanisms are wrappers over stable AssetPacks, not the stable product object.
47+
- DataPacks are the stable output unit.
48+
- Delivery mechanisms are wrappers over stable DataPacks, not the stable product object.
4949
- Read review is mandatory before fit search.
5050
- Fit-quality receipts shown at present-fit-for-settlement-review time must be persisted into settlement evidence.
5151
- Finish is the canonical final SDIVF phase.

0 commit comments

Comments
 (0)