Skip to content

Commit 3b6f9de

Browse files
V48 (impl-only): Fix typecheck; live specifying only
Root-cause CI typecheck: map nested SDIVF pipeline packages in uapi tsconfig (flat @bitcode/* cannot resolve hierarchy paths). Drop settle-exclusive deliveryMechanism residual read from synthesis postprocess instead of casting. Stop requiring historical specifying proofs as green: restore unedited historical tests, run living V47 + boundary suite in package test and Gate Quality (SPECIFYING §4.3 / §13.1).
1 parent cc187b6 commit 3b6f9de

28 files changed

Lines changed: 47 additions & 103 deletions

.github/workflows/bitcode-gate-quality.yml

Lines changed: 4 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -791,25 +791,10 @@ jobs:
791791
pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/deployment-readiness-rehearsal.test.ts --runInBand --forceExit
792792
pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/deployment-promotion-readiness-report.test.ts --runInBand --forceExit
793793
pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/v32-testnet-mainnet-readiness-rehearsal.test.ts --runInBand --forceExit
794-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v32-promotion-proof-generation.test.js
795-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-documentation-surface-catalog.test.js
796-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-telemetry-taxonomy-catalog.test.js
797-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-public-docs-usage-guide-catalog.test.js
798-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-operator-runbook-catalog.test.js
799-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-docs-qa-alignment-report.test.js
800-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-testnet-rollout-readiness-guide.test.js
801-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-telemetry-documentation-interface-integration.test.js
802-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-local-staging-telemetry-documentation-rehearsal.test.js
803-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v35-promotion-readiness.test.js
804-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-exchange-activity-book.test.js
805-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-exchange-intent-order-contracts.test.js
806-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-exchange-rights-transfer-review.test.js
807-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-exchange-pricing-quote.test.js
808-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-exchange-settlement-reconciliation.test.js
809-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-exchange-dispute-repair-revenue-route.test.js
810-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-exchange-ux-proof.test.js
811-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-exchange-rehearsal.test.js
812-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v36-promotion-readiness.test.js
794+
# Living specifying only (active V47 + package boundary). Historical
795+
# vN proofs stay on disk unedited and are not required green
796+
# (BITCODE_SPECIFYING §4.3 / §13.1).
797+
pnpm --filter @bitcode/specifying test
813798
pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/routes/__tests__/btd-crypto.test.ts --runInBand --forceExit
814799
pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/routes/__tests__/auxillaries-contract.test.ts --runInBand --forceExit
815800
pnpm --filter @bitcode/generic-mcps-bitcode run test:mcp -- --runTestsByPath src/__tests__/unit/auth.test.ts --runInBand --forceExit
@@ -828,64 +813,6 @@ jobs:
828813
pnpm --filter @bitcode/asset-packs-pipelines-execution-pipeline-sdivf-synthesize-reads-asset-packs exec jest --config jest.config.cjs --runTestsByPath src/__tests__/reading-operational-telemetry-repair-readback.test.ts --runInBand --forceExit
829814
pnpm --filter @bitcode/asset-packs-pipelines-execution-pipeline-sdivf-synthesize-reads-asset-packs exec jest --config jest.config.cjs --runTestsByPath src/__tests__/reading-interface-product-parity.test.ts --runInBand --forceExit
830815
pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/conversations/__tests__/stream-events.test.ts src/conversations/__tests__/privacy.test.ts src/conversations/__tests__/telemetry.test.ts --runInBand --forceExit
831-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/conversation-telemetry-proof-hooks.test.js
832-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/conversation-rehearsal.test.js
833-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v37-promotion-readiness.test.js
834-
if [ -f scripts/specifying/test/v38-inference-surface-inventory.test.js ]; then
835-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-inference-surface-inventory.test.js
836-
fi
837-
if [ -f scripts/specifying/test/v38-ptrr-failsafe-thricified-stack.test.js ]; then
838-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-ptrr-failsafe-thricified-stack.test.js
839-
fi
840-
if [ -f scripts/specifying/test/v38-prompt-benchmark-report.test.js ]; then
841-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-prompt-benchmark-report.test.js
842-
fi
843-
if [ -f scripts/specifying/test/v38-inference-telemetry-disclosure-report.test.js ]; then
844-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-inference-telemetry-disclosure-report.test.js
845-
fi
846-
if [ -f scripts/specifying/test/v38-read-need-comprehension-inference-hardening.test.js ]; then
847-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-read-need-comprehension-inference-hardening.test.js
848-
fi
849-
if [ -f scripts/specifying/test/v38-read-fits-finding-search-embeddings.test.js ]; then
850-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-read-fits-finding-search-embeddings.test.js
851-
fi
852-
if [ -f scripts/specifying/test/v38-assetpack-synthesis-economic-traceability.test.js ]; then
853-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-assetpack-synthesis-economic-traceability.test.js
854-
fi
855-
if [ -f scripts/specifying/test/v38-conversation-tool-prompt-inference-parity.test.js ]; then
856-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-conversation-tool-prompt-inference-parity.test.js
857-
fi
858-
if [ -f scripts/specifying/test/v38-local-staging-inference-depository-search-rehearsal.test.js ]; then
859-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-local-staging-inference-depository-search-rehearsal.test.js
860-
fi
861-
if [ -f scripts/specifying/test/v38-promotion-readiness.test.js ]; then
862-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v38-promotion-readiness.test.js
863-
fi
864-
if [ -f scripts/specifying/test/v39-interface-conversation-product-parity.test.js ]; then
865-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v39-interface-conversation-product-parity.test.js
866-
fi
867-
if [ -f scripts/specifying/test/v39-local-staging-reading-rehearsal.test.js ]; then
868-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v39-local-staging-reading-rehearsal.test.js
869-
fi
870-
if [ -f scripts/specifying/test/v39-promotion-readiness.test.js ]; then
871-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v39-promotion-readiness.test.js
872-
fi
873-
if [ -f scripts/specifying/test/v40-conversation-terminal-integration.test.js ]; then
874-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v40-conversation-terminal-integration.test.js
875-
fi
876-
if [ -f scripts/specifying/test/v40-ledger-storage-sync.test.js ]; then
877-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v40-ledger-storage-sync.test.js
878-
fi
879-
if [ -f scripts/specifying/test/v40-local-staging-rehearsal-automation.test.js ]; then
880-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v40-local-staging-rehearsal-automation.test.js
881-
fi
882-
if [ -f scripts/specifying/test/v40-prompt-benchmark-smoke-v41-readiness.test.js ]; then
883-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v40-prompt-benchmark-smoke-v41-readiness.test.js
884-
fi
885-
if [ -f scripts/specifying/test/v40-promotion-readiness.test.js ]; then
886-
pnpm --dir scripts/specifying exec node --test --test-force-exit test/v40-promotion-readiness.test.js
887-
fi
888-
pnpm --filter @bitcode/specifying test
889816
890817
# Terminal product route is deleted (V48). Keep only present uapi harness
891818
# contracts (Conversations / Auxillaries / Reads / browser-proof suites).

apps/uapi/tsconfig.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,19 @@
3636
"@bitcode/asset-packs-pipelines-execution-pipeline-sdivf-synthesize-deposits-asset-packs": [
3737
"../../packages/asset-packs-pipelines/syntheses/deposit/src/index.ts"
3838
],
39+
// Nested hierarchy packages (not matched by flat @bitcode/* → packages/*).
40+
"@bitcode/generic-pipelines-execution-pipeline-sdivf": [
41+
"../../packages/generic-pipelines/execution-pipeline-sdivf/src/index.ts"
42+
],
43+
"@bitcode/generic-pipelines-execution-pipeline-sdivf/*": [
44+
"../../packages/generic-pipelines/execution-pipeline-sdivf/src/*"
45+
],
46+
"@bitcode/generic-pipelines-execution-pipeline-simple": [
47+
"../../packages/generic-pipelines/execution-pipeline-simple/src/index.ts"
48+
],
49+
"@bitcode/generic-pipelines-execution-pipeline-simple/*": [
50+
"../../packages/generic-pipelines/execution-pipeline-simple/src/*"
51+
],
3952
"@bitcode/generic-artifacts-compose": [
4053
"../../packages/generic-artifacts/compose/src/index.ts"
4154
],

packages/asset-packs-pipelines/syntheses/domain/src/postprocess.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,14 +395,13 @@ function ensureAssetPackSourceSafePreview(
395395
return null;
396396
}
397397

398+
// Synthesis evidence only — never Delivery/settle residual fields.
398399
const assetPackId =
399400
firstString(
400401
(output as any).assetPackId,
401402
output.assetPackSynthesisArtifacts?.assetPackId,
402403
output.writtenAssets?.assetPackId,
403404
output.writtenAsset?.payload?.assetPackId,
404-
// Legacy residual only — Delivery is settle-exclusive; not on AssetPackOutput.
405-
(output as any).deliveryMechanism?.payload?.assetPackId,
406405
) || undefined;
407406
const preview = buildAssetPackSourceSafePreview({
408407
need: acceptedNeed,

scripts/specifying/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ tooling under `scripts/`**, not product packages.
5858
## Tests
5959

6060
```bash
61+
# Living required suite (active canon V47 + package boundary)
6162
pnpm --filter @bitcode/specifying test
6263
pnpm --filter @bitcode/specifying typecheck
64+
65+
# Optional: full disk suite including historical era proofs (not CI-required)
66+
pnpm --filter @bitcode/specifying run test:historical
6367
```

scripts/specifying/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
"./src/*": "./src/*"
1212
},
1313
"scripts": {
14-
"test": "node --test --test-force-exit test/*.test.js",
14+
"test": "node --test --test-force-exit test/specifying-package-boundary.test.js test/spec-family-promotion-posture.test.js test/v47-*.test.js",
15+
"test:historical": "node --test --test-force-exit test/*.test.js",
1516
"typecheck": "node ../../node_modules/typescript/bin/tsc -p tsconfig.typecheck.json --noEmit",
1617
"type-check": "pnpm run typecheck"
1718
},

scripts/specifying/test/v34-promotion-readiness.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import assert from 'node:assert/strict';
2-
import { test } from './era-pinned-superseded-routes.js';
2+
import { test } from 'node:test';
33

44
import {
55
PROVEN_GENERATOR_ID,

scripts/specifying/test/v35-promotion-readiness.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import assert from 'node:assert/strict';
22
import path from 'node:path';
33
import { fileURLToPath } from 'node:url';
4-
import { test } from './era-pinned-superseded-routes.js';
4+
import { test } from 'node:test';
55

66
import {
77
DOCUMENTATION_TELEMETRY_PROMOTION_READINESS_GATE_ARTIFACT_PATHS,

scripts/specifying/test/v36-promotion-readiness.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import assert from 'node:assert/strict';
22
import path from 'node:path';
33
import { fileURLToPath } from 'node:url';
4-
import { test } from './era-pinned-superseded-routes.js';
4+
import { test } from 'node:test';
55

66
import {
77
EXCHANGE_PROMOTION_READINESS_GATE_ARTIFACT_PATHS,

scripts/specifying/test/v37-promotion-readiness.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import assert from 'node:assert/strict';
22
import path from 'node:path';
33
import { fileURLToPath } from 'node:url';
4-
import { test } from './era-pinned-superseded-routes.js';
4+
import { test } from 'node:test';
55

66
import {
77
CONVERSATION_PROMOTION_READINESS_GATE_ARTIFACT_PATHS,

scripts/specifying/test/v38-promotion-readiness.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import assert from 'node:assert/strict';
22
import path from 'node:path';
33
import { fileURLToPath } from 'node:url';
4-
import { test } from './era-pinned-superseded-routes.js';
4+
import { test } from 'node:test';
55

66
import {
77
V38_INFERENCE_PROMOTION_READINESS_GATE_ARTIFACT_PATHS,

0 commit comments

Comments
 (0)