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
2 changes: 2 additions & 0 deletions .github/workflows/bitcode-gate-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ 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/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"
65 changes: 55 additions & 10 deletions BITCODE_SPEC_V28.md
Original file line number Diff line number Diff line change
Expand Up @@ -759,21 +759,66 @@ 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 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
14 changes: 12 additions & 2 deletions BITCODE_SPEC_V28_DELTA.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,19 @@ 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
### Gate 8: V28 Metadevelopment And Promotion Proof

Adds final proof, build/test, unversioned route, and scope-staging closure.
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.

## Later Version Handoff

Expand Down
31 changes: 28 additions & 3 deletions BITCODE_SPEC_V28_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -525,11 +525,34 @@ 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.

## 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 +566,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