You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@
5
5
- Do not consider any legacy code. All legacy code is located under `_legacy/`.
6
6
- 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.).
7
7
- 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.
8
+
- 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.
8
9
- Once implementation starts on a gate branch, do not stop at partial progress unless blocked by missing external input or explicit user pause. A gate branch is ready to stop only when the gate's acceptance criteria are implemented, specified, tested, documented, committed, pushed, and pull-requested for closure into the version branch.
9
10
- Treat gate and promotion workflow health as part of gate closure. Gate pull requests into version branches must be green through the maintained gate-quality checks, and repository-wide canon-quality checks must remain greenable during draft work. Version pull requests into `main` must pass the version promotion workflow, which performs promotion-grade validations and commits the standalone `BITCODE_SPEC.txt` pointer change only after those validations pass.
10
11
- Keep CI greenable rather than ceremonial. Required application CI uses root pnpm workspace installation and maintained uapi lint/typecheck/build/Jest coverage. Heavy legacy scans such as full DB/browser E2E, Storybook build, super-linter, and advanced CodeQL are opt-in by repository variables until their backing catalogs and service assumptions are maintained for required branch protection.
Copy file name to clipboardExpand all lines: BITCODE_SPEC_V29.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -301,6 +301,27 @@ Failure to observe prompt, raw-output, parsed-output, or tool telemetry in a run
301
301
- Current validating commands and parity basis: synthesis tests, source-leakage tests, route tests, PR delivery mocks/live checks, and V29 gate checks.
302
302
- Current accepted boundaries: full mainnet value delivery remains approval-gated.
303
303
304
+
#### V29 AssetPack disclosure rights canon
305
+
306
+
AssetPack disclosure is a first-class review object, not an incidental UI summary.
307
+
The preview before payment may show Need measurements, Finding Fits measurements, candidate ids, roots, score band, fee quote, range projection, access policy hash, and delivery target.
308
+
It must not show protected source content, the full patch, source-bearing manifest entries, or licensed read payload before the paid unlock is proven.
309
+
310
+
The disclosure review contract carries:
311
+
312
+
-`AssetPackSourceSafePreview`, which remains the source-safe preview envelope;
313
+
-`AssetPackDisclosureReview`, which binds preview id, AssetPack id, read-right state, source visibility, reader action, policy fields, range projection, roots, and protected-source leakage findings;
314
+
- owner-read, licensed-read, denied, and pending-settlement distinctions from BTD access primitives;
315
+
- paid unlock state from settlement readback;
316
+
- leakage review that fails closed when patch markers, source-code markers, or forbidden source-bearing fields appear in preview metadata.
317
+
318
+
Terminal must render disclosure review as an ordinary Reading stage surface.
Expanded views may show the review metadata and roots, but they still may not reveal protected source before settlement.
321
+
322
+
Gate pull request titles are part of the same operator-quality posture.
323
+
Gate PRs into version branches must begin with the uppercase version and gate prefix, for example `V29 Gate 5: AssetPack Disclosure Rights And Preview Depth`, so gate history stays auditable from GitHub alone.
324
+
304
325
### Identity, authorization, and sensitive flow
305
326
306
327
- Current canonical objects and emitted artifacts: wallet identity, signer session, GitHub connection, organization role, read-license, access-policy decision, permission proof.
Copy file name to clipboardExpand all lines: BITCODE_SPEC_V29_DELTA.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,6 +126,16 @@ Closure acceptance:
126
126
127
127
Gate 5 owns AssetPack range detail, owner-read/licensed-read/denied-state flows, source-safe preview, disclosure policy review, paid unlock state, and protected-source leakage tests.
128
128
129
+
Closure acceptance:
130
+
131
+
-`@bitcode/pipeline-asset-pack` exposes `AssetPackDisclosureReview` as the first-class review object between source-safe preview and paid source unlock.
132
+
- The disclosure review binds preview id, AssetPack id, BTD read-right state, source visibility, reader action, policy fields, range projection, proof roots, fee quote root, and protected-source leakage review.
133
+
- Protected source leakage detection fails closed for source-bearing field names, patch markers, and source-code markers inside pre-settlement preview metadata.
134
+
- AssetPack postprocessing and the Vercel Sandbox harness store `assetPackDisclosureReview`, `asset-pack/preview.disclosureReview`, and `asset-pack/preview.disclosureReviewRoot` alongside source-safe preview evidence.
135
+
- BTD tests cover owner-read, licensed-read, and denied-state boundaries so paid unlock cannot blur ownership, license, and denial semantics.
136
+
- Terminal renders disclosure review as part of the source-safe preview surface with visibility, reader action, policy root, review root, visible/withheld counts, leakage state, and source unlock state before raw evidence.
137
+
- Gate-quality CI enforces focused disclosure tests and gate PR titles beginning with the uppercase version and gate prefix, such as `V29 Gate 5: AssetPack Disclosure Rights And Preview Depth`.
Copy file name to clipboardExpand all lines: BITCODE_SPEC_V29_NOTES.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,6 +134,23 @@ Accepted Gate 4 posture:
134
134
- Terminal's live harness stream shows pipeline, phase id, PTRR agent, PTRR step, ThricifiedGeneration, prompt, tool, output schema, raw output posture, and parsed typed output posture through the shared execution log components.
135
135
- Gate 4 does not implement disclosure-depth unlock, settlement repair, organization authority, or full browser proof; later gates own those slices.
136
136
137
+
## Gate 5 working notes
138
+
139
+
Gate 5 makes AssetPack disclosure a package-owned contract instead of a Terminal-only summary.
140
+
The Reading pipeline may synthesize the AssetPack and compute its measurements before payment, but protected source remains withheld until the BTD read-right state and settlement unlock prove that the reader owns or is licensed to read the AssetPack source.
141
+
142
+
Accepted Gate 5 posture:
143
+
144
+
-`AssetPackSourceSafePreview` remains the pre-payment preview envelope.
145
+
-`AssetPackDisclosureReview` binds source visibility, reader action, policy roots, range projection, fee quote root, and protected-source leakage review to that preview.
146
+
- Source visibility has distinct `withheld_before_settlement`, `available_after_settlement`, and `denied` states.
147
+
- Reader action has distinct `pay_to_unlock`, `read_as_owner`, `read_as_licensee`, and `blocked` states.
148
+
- Leakage review scans preview metadata for source-bearing field names, patch markers, and source-code markers and fails closed before the preview is shown.
149
+
- Postprocessing and the sandbox harness store disclosure review evidence next to source-safe preview evidence so database/ledger readback can explain paid unlock state without exposing protected source.
150
+
- Terminal renders disclosure review as the ordinary Reading preview surface and keeps expandable raw metadata behind the same source-safe boundary.
151
+
- Gate pull request titles must carry the uppercase version and gate prefix so gate closure can be audited from GitHub history.
152
+
- Gate 5 does not implement reconciliation repair, organization authority, full settlement UI depth, or browser proof; later V29 gates own those slices.
153
+
137
154
## Later-version boundaries
138
155
139
156
- V30 remains reserved for Protocol/BTD hardening that is not necessary to close Terminal transaction depth.
@@ -163,3 +164,28 @@ Gate 3 is complete when package primitives model BTC quotes, signer recovery, op
163
164
## Gate 4 completion condition
164
165
165
166
Gate 4 is complete when Reading pipeline observability is package-owned, stream events are contract-projected in the sandbox harness, Terminal renders the projection through shared execution components, focused package and UAPI tests pass, `check:v29-gate4` passes, CI invokes the checker and tests, docs name the implemented source surfaces, and the gate branch is committed and pushed for review into `version/v29`.
167
+
168
+
## Gate 5 Parity
169
+
170
+
| Requirement | Source evidence | Current V29 judgment |
| Terminal preview surface renders disclosure policy before raw evidence |`TerminalDepositReadWorkbench.tsx`, Terminal harness client tests | drafted |
178
+
| Gate PR title enforcement is automated |`.github/workflows/bitcode-gate-quality.yml`, PR template, AGENTS/README instructions | drafted |
179
+
| Gate 5 checker is wired to package scripts and CI |`scripts/check-v29-gate5-assetpack-disclosure-rights.mjs`, `package.json`, gate workflow | drafted |
180
+
181
+
## Gate 5 accepted boundaries
182
+
183
+
- Gate 5 does not reveal protected AssetPack source before settlement.
184
+
- Gate 5 does not perform settlement reconciliation repair; Gate 6 owns ledger/database drift and repair.
185
+
- Gate 5 does not implement organization authority beyond read-right state distinctions; Gate 7 owns registry-derived roles and holdings.
186
+
- Gate 5 does not add browser proof or full UX polish; Gate 9 owns that surface.
187
+
- Gate 5 does not add versioned API routes or source identifiers.
188
+
189
+
## Gate 5 completion condition
190
+
191
+
Gate 5 is complete when AssetPack disclosure review is package-owned, postprocess and sandbox harness evidence include source-safe disclosure review roots, protected-source leakage tests fail closed, Terminal renders the disclosure review through the Reading preview surface, gate PR title enforcement is active, focused package and UAPI tests pass, `check:v29-gate5` passes, CI invokes the checker and tests, docs name the implemented source surfaces, and the gate branch is committed and pushed for review into `version/v29`.
0 commit comments