Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/bitcode-gate-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ jobs:
node scripts/check-bitcode-spec-family.mjs --version V28 --mode draft --current-target V27
node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V27 --draft-target V28
node scripts/check-bitcode-canonical-inputs.mjs --current-target V27
node scripts/check-v28-metadevelopment-readiness.mjs --skip-branch-check
node scripts/check-v28-gate9-depository-evidence.mjs
node scripts/promote-bitcode-canon.mjs --version V28 --commit HEAD --dry-run

- name: Validate source casing and imports
run: |
Expand Down
23 changes: 17 additions & 6 deletions .github/workflows/v28-canon-promotion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,17 @@ jobs:
node scripts/check-bitcode-spec-family.mjs --version V28 --mode draft --current-target V27
node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V27 --draft-target V28
node scripts/check-bitcode-canonical-inputs.mjs --current-target V27
node scripts/check-bitcode-spec-family.mjs --version V28 --mode promoted --current-target V28 --skip-pointer-check
node scripts/check-bitcode-canonical-inputs.mjs --current-target V28 --skip-pointer-check
node scripts/check-v28-metadevelopment-readiness.mjs --promotion-mode --skip-branch-check
node scripts/promote-bitcode-canon.mjs --version V28 --commit HEAD --dry-run
elif [ "$POINTER" = "V28" ]; then
node scripts/check-bitcode-spec-family.mjs --version V28 --mode promoted --current-target V28
node scripts/check-bitcode-canonical-inputs.mjs --current-target V28
node scripts/check-v28-metadevelopment-readiness.mjs --promotion-mode --skip-branch-check
else
echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2
exit 1
fi
npm --prefix protocol-demonstration run test
npm --prefix protocol-demonstration run test:v28-mvp-qa
pnpm --filter @bitcode/pipeline-asset-pack typecheck
pnpm --filter @bitcode/pipeline-hosts typecheck
pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --passWithNoTests --forceExit
Expand All @@ -83,7 +84,7 @@ jobs:
--runInBand
git diff --check

- name: Promote BITCODE_SPEC pointer
- name: Promote V28 canon files
if: >-
${{
github.event_name == 'pull_request' &&
Expand All @@ -96,9 +97,19 @@ jobs:
echo "BITCODE_SPEC.txt already points to V28."
exit 0
fi
printf "V28\n" > BITCODE_SPEC.txt
PROOF_SOURCE_COMMIT="$(git rev-parse HEAD)"
npm run promote:canon -- --version V28 --commit "$PROOF_SOURCE_COMMIT"
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add BITCODE_SPEC.txt
git add \
BITCODE_SPEC.txt \
BITCODE_SPEC_V28.md \
BITCODE_SPEC_V28_DELTA.md \
BITCODE_SPEC_V28_NOTES.md \
BITCODE_SPEC_V28_PARITY_MATRIX.md \
BITCODE_SPEC_V28_PROVEN.md \
protocol-demonstration/src/canon-posture.js \
protocol-demonstration/README.md \
.bitcode
git commit -m "Promote Bitcode canon to V28"
git push origin "HEAD:$HEAD_BRANCH"
90 changes: 80 additions & 10 deletions BITCODE_SPEC_V28.md
Original file line number Diff line number Diff line change
Expand Up @@ -759,21 +759,91 @@ Implementation evidence:
`uapi/tests/terminalOperationalHealthPanel.test.tsx`; package-level BTD tests
are runnable through `pnpm -C packages/btd test`.

### Gate 8: V28 Promotion Proof
### Gate 8: V28 Metadevelopment And Promotion Proof

Purpose:
Promote V28 only after commercial Protocol/Terminal MVP QA, Terminal readiness productization, MCP/ChatGPT App MVP readiness, tests, proof, and documentation are closed.
Close the repository metadevelopment standard that V28 introduced: version branches, gate-prefixed branches, quality commit messages, maintained gate workflows, promotion workflows, and a carryforward audit that prevents remaining commercial-product work from being hidden inside promotion prose.

Acceptance criteria:

- V28 SPEC, DELTA, NOTES, PARITY, and PROVEN are synchronized.
- package/API, ORM, protocol-demonstration, UAPI route, Terminal UI, and build checks pass.
- unversioned-route scan passes.
- V29 Terminal depth, V30 Protocol/BTD hardening, V31 Auxillaries depth, V32 provation/testing depth, V33 interface depth beyond the V28 MVP, V34 deployment depth, V35 telemetry/documenting depth, and V36+ Exchange/Conversations depth are explicitly staged.
- a V28 version-branch pull request into `main` runs promotion-grade
automation; only after those validations pass does automation commit the
standalone `BITCODE_SPEC.txt` pointer change.
- `BITCODE_SPEC.txt` remains V27 until the final automated promotion step.
- branch policy is source-documented: V28 work integrates through
`version/v28`; gate work occurs on `v28/gate-N-*` branches; gate branches
merge into the version branch; only the complete version branch requests
promotion into `main`.
- contribution policy is source-documented: commits are quality-grouped and
titled descriptively enough for promotion proof and future operators.
- the gate workflow checks draft canon posture, import/casing hygiene, package
typechecks/tests, focused UAPI route/Terminal tests, demonstration tests,
diff hygiene, metadevelopment readiness, and a dry-run V28 promotion plan.
- the V28 promotion workflow triggers only for `version/v28` pull requests into
`main`, runs promotion-grade checks, executes the canonical promotion script,
generates/commits `BITCODE_SPEC_V28_PROVEN.md`, and advances
`BITCODE_SPEC.txt` only in the automated promotion commit.
- the V28 parity matrix includes a rich carryforward audit for the commercial
product gates that follow Gate 8: Depositing, Read Request, Read-Need
synthesis/review/resynthesis, Finding Fits, AssetPack preview, BTC
settlement/read-license, PR delivery, Terminal UX, public/internal
documentation, proof coverage, and local/live validation.
- unversioned-route scan passes and `BITCODE_SPEC.txt` remains V27 until the
final automated promotion step.

### Gate 9: Commercial Depositing And Depository Evidence

Gate 9 owns source deposit productization after the metadevelopment gate:
repository inventory, deposit admission, depository evidence storage,
measurement vectors, wallet/depositor boundaries, search-index population, and
Terminal visibility for deposited source materials.

Gate 9 acceptance closes only when a deposited repository revision produces a
single evidence spine usable by later Reading gates:

- the deposit route returns and persists a source-bound depository evidence
envelope containing repository, branch, commit, asset id, content root, proof
root, measurement root, reconciliation readback root, lexical search document
root, vector search document root, and aggregate depository search document
root;
- the depositor boundary is explicit as a wallet/signer ownership boundary,
with the deposited asset owned by the depositor before any Reader settlement
or read-license transfer;
- the vector document contract names the embedding policy
`text-embedding-3-small`, 1536 dimensions, and the `deliverable_vectors` /
`match_deliverable_vectors` store/RPC boundary, while lexical search remains
deterministic and source-rooted;
- Terminal execution-history rows retain the deposit evidence roots and replay
them into the latest deposited source revision so the Read/Fit harness can
pass proof, measurement, and readback roots into Finding Fits;
- Terminal Deposit + Read surfaces show the deposit asset id, depositor wallet,
source proof roots, search document roots, and index state without requiring
operators to inspect raw JSON;
- the Gate 9 SQL/readback query checks recent deposit rows for repository
alignment, candidate asset id, source proof roots, depository search document
roots, depositor boundary, and vector embedding policy posture.

### Gate 10: Read Request To Read-Need Comprehension

Gate 10 owns the enterprise Reading start: request Read, synthesize a
reviewable Need through `ReadNeedComprehensionSynthesis`, allow feedback and
resynthesis, persist accepted Need truth, and block Finding Fits until the Need
is reviewed.

### Gate 11: Finding Fits And Source-Safe AssetPack Preview

Gate 11 owns `ReadFindingFitsSynthesis`: depository search, candidate fit
ranking, fitting deposits as synthesis context, AssetPack measurement, source-
safe preview, Share-to-Fee quote, and proof-rich Terminal stream visibility.

### Gate 12: Settlement, Rights, Delivery, And Reconciliation

Gate 12 owns BTC settlement, depositor/reader ownership boundaries, read-license
rows, ledger/database synchronization, protected-source unlock, and PR delivery
of the purchased AssetPack into the Reading repository.

### Gate 13: Commercial Product Closure And Promotion Readiness

Gate 13 owns final commercial-product closure: website application UX, package
abstractions, tests, local live validation, staging-testnet readback evidence,
public/internal documentation, generated proof coverage, and the final
`version/v28` promotion pull request.

## Draft Boundary

Expand Down
24 changes: 21 additions & 3 deletions BITCODE_SPEC_V28_DELTA.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,27 @@ Adds registry-derived organization, MCP API, ChatGPT App access decisions, and p

Adds Terminal-operated deployment lane, telemetry, upgrade, migration, and provider readiness state.

### Gate 8: V28 Promotion Proof

Adds final proof, build/test, unversioned route, and scope-staging closure.
### Gate 8: V28 Metadevelopment And Promotion Proof

Adds branch policy, quality commit discipline, gate workflow hardening,
canonical promotion automation, V28 promotion-script support, unversioned-route
checking, deterministic ledgerized model posture checks, and a carryforward
audit for the product gates that follow.

### Gate 9+: Commercial Product Closure Gates

Gate 9 and later gates close the remaining commercial product flow: Depositing,
Read Request, Read-Need synthesis/review/resynthesis, Finding Fits, AssetPack
preview, BTC settlement, read-license/right transfer, protected-source unlock,
PR delivery, Terminal UX, documentation, proof coverage, and live validation.

Gate 9 introduces the deposited-source evidence spine that later gates consume.
Depositing now produces proof, measurement, reconciliation readback, lexical
document, vector document, and aggregate depository search roots; projects those
roots through Terminal execution history; and carries them into the Read/Fit
harness deposit reference. The vector document policy is explicit:
`text-embedding-3-small`, 1536 dimensions, `deliverable_vectors`, and
`match_deliverable_vectors`.

## Later Version Handoff

Expand Down
48 changes: 45 additions & 3 deletions BITCODE_SPEC_V28_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -525,11 +525,51 @@ The minimum useful V28 gate plan is Protocol/Terminal-MVP-first:
live Reading pipeline telemetry. Placeholder mocks are not acceptance
evidence.

8. **Gate 8: V28 Promotion Proof**
- SPEC, DELTA, NOTES, PARITY, and PROVEN exist.
- Terminal tests, MCP/ChatGPT App tests, package/API tests, route tests, UAPI build, and demonstration tests pass.
8. **Gate 8: V28 Metadevelopment And Promotion Proof**
- Branching policy, gate branch naming, quality commit-message discipline,
gate workflow checks, and V28 promotion workflow checks are documented and
source-validated.
- The V28 promotion workflow is maintained as the only path that advances
`BITCODE_SPEC.txt`; it runs promotion-grade validation, executes the
canonical promotion script, generates `BITCODE_SPEC_V28_PROVEN.md`, and
commits promotion artifacts back to `version/v28`.
- The parity matrix carries an explicit product-gate carryforward audit so
Depositing, Read Request, Read-Need, Finding Fits, AssetPack preview,
settlement, delivery, Terminal UX, documentation, proof coverage, and live
validation work cannot be hidden as vague future cleanup.
- V29 Terminal depth, V30 Protocol/BTD hardening, V31 Auxillaries depth, V32 provation/testing depth, V33 interface depth beyond the V28 MVP, V34 deployment depth, V35 telemetry/documenting depth, and V36+ Exchange/Conversations depth are explicitly staged rather than mixed into V28.

## Gate 8 metadevelopment closure notes

Gate 8 is not a commercial-product feature gate. It standardizes how the
remaining V28 gates close: gate-prefixed branches merge into `version/v28`,
the version branch is the only branch that can request promotion into `main`,
and promotion automation must either generate and commit the canonical proof
appendix or fail closed.

Gate 8 also separates promotion mechanics from product closure. Subsequent V28
gates still own the commercial product flow: source Depositing, Read Request,
Need synthesis/review/resynthesis, Finding Fits over the depository, source-safe
AssetPack preview, BTC settlement, read-license/right transfer, pull-request
delivery, Terminal usability, proof coverage, and local/live validation.

## Gate 9 depository evidence closure notes

Gate 9 closes the first product gate after metadevelopment by making Deposit
evidence reusable by later Reading gates. A deposited repository revision must
emit proof, measurement, reconciliation readback, lexical document, vector
document, and aggregate depository search roots. Terminal activity history must
persist those roots and project them back into the latest deposited source
revision. The Read/Fit harness must receive the same roots in its deposit
reference so Finding Fits can distinguish real proof-bearing deposited supply
from local placeholders.

The vector search document policy for V28 Gate 9 is `text-embedding-3-small`,
1536 dimensions, `deliverable_vectors`, `match_deliverable_vectors`, and cosine
distance. Gate 9 records the vector document as ready for embedding generation;
later Finding Fits and live validation gates own provider execution, ranking,
settlement, and protected-source disclosure boundaries.

## Non-Goals For V28

- V28 does not implement or QA Exchange product behavior, broad order-book depth, external market routing, wrapper liquidity, or third-party marketplace integration.
Expand All @@ -543,8 +583,10 @@ The minimum useful V28 gate plan is Protocol/Terminal-MVP-first:
Before V28 implementation closes, rerun at minimum:

- `cat BITCODE_SPEC.txt`
- `pnpm run check:v28-metadevelopment`
- `find uapi/app/api -path '*v[0-9]*' -print | sort`
- `rg -n 'gap blocking|partial blocking|not started|not promoted|not generated yet' BITCODE_SPEC_V28*`
- `node scripts/promote-bitcode-canon.mjs --version V28 --commit HEAD --dry-run`
- `pnpm -C packages/api build`
- `pnpm -C packages/orm build`
- `npm --prefix protocol-demonstration run test:v27-crypto`
Expand Down
Loading
Loading