Skip to content

Commit 6036771

Browse files
Merge pull request #195 from engineeredsoftware/v44/gate-5-depositor-earnings-supply-opportunities
V44 Gate 5: Depositor Earnings Supply Opportunities
2 parents 0cbebe3 + 71a0fa2 commit 6036771

29 files changed

Lines changed: 1929 additions & 59 deletions
Lines changed: 362 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,362 @@
1+
{
2+
"artifactId": "v44-depositor-earnings-supply-opportunities",
3+
"schemaId": "bitcode.v44.depositorEarningsSupplyOpportunities.v1",
4+
"version": "V44",
5+
"currentTarget": "V43",
6+
"sourceSafetyVerdict": "source-safe-depositor-earnings-supply-opportunity-metadata",
7+
"generatedAt": "deterministic",
8+
"artifactRoot": "v44-depositor-earnings-supply-opportunities:7d08756f3b7ca3d960bcdce1",
9+
"passed": true,
10+
"objectIds": [
11+
"DepositorEarningSupplyIntelligence",
12+
"DepositorEarningStatement",
13+
"DepositSupplyOpportunity",
14+
"UnfitNeedOpportunity",
15+
"SourceCriticalityPosture",
16+
"ExpectedCompensationRange",
17+
"SourceSafeSupplyRecommendation"
18+
],
19+
"earningStateIds": [
20+
"compensation-range-estimated",
21+
"repair-required-before-earning",
22+
"blocked-critical-source"
23+
],
24+
"recommendationIds": [
25+
"approve-for-depository-review",
26+
"repair-policy-before-admission",
27+
"resynthesize-for-demand",
28+
"withhold-critical-source"
29+
],
30+
"demandOpportunityStateIds": [
31+
"strong-demand-opportunity",
32+
"moderate-demand-opportunity",
33+
"weak-demand-opportunity"
34+
],
35+
"forbiddenPayloadIds": [
36+
"protected-source-payloads",
37+
"raw-source-text",
38+
"unpaid-assetpack-source",
39+
"raw-prompts",
40+
"interpolated-prompts",
41+
"raw-provider-responses",
42+
"credentials",
43+
"wallet-private-material",
44+
"private-settlement-payloads",
45+
"value-bearing-mainnet-admission"
46+
],
47+
"rows": [
48+
{
49+
"rowId": "likely-demand-intelligence",
50+
"owner": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
51+
"contract": "DepositorEarningSupplyIntelligence aggregates likely Reading demand from source-safe option policy evaluations.",
52+
"requiredFields": [
53+
"likelyDemand",
54+
"averageConfidence",
55+
"strongDemandOptionCount",
56+
"demandRoot"
57+
],
58+
"rowRoot": "v44-depositor-earning-supply-row:3f21ab5d35fe3fe66b040e54",
59+
"sourceSafeMetadataOnly": true,
60+
"protectedSourceVisible": false,
61+
"unpaidAssetPackSourceVisible": false
62+
},
63+
{
64+
"rowId": "unfit-need-opportunities",
65+
"owner": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
66+
"contract": "Unfit Need opportunities are represented as source-safe weighted demand signals that guide supply creation without exposing Read or source payloads.",
67+
"requiredFields": [
68+
"unfitNeedOpportunities",
69+
"opportunityCount",
70+
"opportunityRoot"
71+
],
72+
"rowRoot": "v44-depositor-earning-supply-row:1657685e3e08e02653f801db",
73+
"sourceSafeMetadataOnly": true,
74+
"protectedSourceVisible": false,
75+
"unpaidAssetPackSourceVisible": false
76+
},
77+
{
78+
"rowId": "earning-statements",
79+
"owner": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
80+
"contract": "Depositor earning statements label all values as estimates and expose BTC compensation ranges, ROI, criticality, blockers, warnings, and statement roots.",
81+
"requiredFields": [
82+
"DepositorEarningStatement",
83+
"valueLabel",
84+
"expectedCompensationRangeSats",
85+
"blocked-critical-source"
86+
],
87+
"rowRoot": "v44-depositor-earning-supply-row:0835a42862b22864611d6f1a",
88+
"sourceSafeMetadataOnly": true,
89+
"protectedSourceVisible": false,
90+
"unpaidAssetPackSourceVisible": false
91+
},
92+
{
93+
"rowId": "source-safe-supply-recommendations",
94+
"owner": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
95+
"contract": "Supply recommendations choose approve, repair, resynthesize, or withhold actions from source-safe demand, criticality, ROI, and compensation posture.",
96+
"requiredFields": [
97+
"approve-for-depository-review",
98+
"repair-policy-before-admission",
99+
"resynthesize-for-demand",
100+
"withhold-critical-source"
101+
],
102+
"rowRoot": "v44-depositor-earning-supply-row:95fc05f465a5dbc377888ddf",
103+
"sourceSafeMetadataOnly": true,
104+
"protectedSourceVisible": false,
105+
"unpaidAssetPackSourceVisible": false
106+
},
107+
{
108+
"rowId": "deposit-route-earning-readback",
109+
"owner": "uapi/app/deposit/DepositPageClient.tsx",
110+
"contract": "/deposit renders earning estimates, unfit Need opportunities, source-safe recommendations, and opportunity roots beside the five-step Depositing path.",
111+
"requiredFields": [
112+
"Supply opportunity",
113+
"Earning estimate",
114+
"Unfit Need opportunities",
115+
"DepositorEarningSupplyIntelligence"
116+
],
117+
"rowRoot": "v44-depositor-earning-supply-row:f701e70f93e3ece09d9e402c",
118+
"sourceSafeMetadataOnly": true,
119+
"protectedSourceVisible": false,
120+
"unpaidAssetPackSourceVisible": false
121+
},
122+
{
123+
"rowId": "source-to-shares-compensation-basis",
124+
"owner": "packages/btd/src/source-to-shares.ts",
125+
"contract": "Depositor earning ranges remain estimate-only until future Need-Fit settlement produces source-to-shares allocation receipts.",
126+
"requiredFields": [
127+
"source-to-shares-largest-remainder",
128+
"settlementAllocations",
129+
"settlementConservation"
130+
],
131+
"rowRoot": "v44-depositor-earning-supply-row:874063553da1f69224274403",
132+
"sourceSafeMetadataOnly": true,
133+
"protectedSourceVisible": false,
134+
"unpaidAssetPackSourceVisible": false
135+
}
136+
],
137+
"sourceRoots": {
138+
"activePointer": "BITCODE_SPEC.txt:4ea77b214c66f69c697bff3d",
139+
"spec": "BITCODE_SPEC_V44.md:f42417c87b28658f95bfc5e2",
140+
"delta": "BITCODE_SPEC_V44_DELTA.md:67047539c440859038b21e0e",
141+
"notes": "BITCODE_SPEC_V44_NOTES.md:65d2a226a68ddc14e10d4f1d",
142+
"parity": "BITCODE_SPEC_V44_PARITY_MATRIX.md:720f3406bcadd2098ba3a509",
143+
"roadmap": "SPECIFICATIONS_ROADMAP.md:2ef8f1bf59c26479728c3153",
144+
"readme": "README.md:a6409b31ee2230d6889bf26f",
145+
"protocolReadme": "packages/protocol/README.md:e33e94fa5584a2a44cd49c1f",
146+
"packageJson": "package.json:8d6cf25f9345ca24f1a6aa3b",
147+
"gateWorkflow": ".github/workflows/bitcode-gate-quality.yml:11c68267a63ed03d95524e98",
148+
"canonWorkflow": ".github/workflows/bitcode-canon-quality.yml:dfd0de96bd301ec722e4ea67",
149+
"economicModel": "packages/protocol/src/canonical/v44-economic-domain-model.js:21b8f5c80ad8322dff2909ed",
150+
"portfolioMarketIntelligence": "packages/protocol/src/canonical/v44-packs-portfolio-market-intelligence.js:f5d37e086c9bbbdb6202da53",
151+
"optionPolicy": "packages/pipelines/asset-pack/src/deposit-asset-pack-option-policy.ts:12816b23b2d8e304ab4a1638",
152+
"earningSupplyIntelligence": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts:e0ec2d83cfaf3bfaaa126387",
153+
"earningSupplyIntelligenceTest": "packages/pipelines/asset-pack/src/__tests__/depositor-earning-supply-intelligence.test.ts:3b7a869e6262f6f5ebcc71fe",
154+
"depositModel": "uapi/app/deposit/deposit-route-model.ts:b4a51a495a193eff88f1f103",
155+
"depositClient": "uapi/app/deposit/DepositPageClient.tsx:3aee0372e480aa8212be7fe0",
156+
"depositRouteTest": "uapi/tests/depositRouteModel.test.ts:f60d0f4541bb0dae5d455f13",
157+
"depositPageTest": "uapi/tests/depositPageClient.test.tsx:44960f6c465c87194a689958",
158+
"assetPackPackageIndex": "packages/pipelines/asset-pack/src/index.ts:4d900afeb3eb6ab1202403ee",
159+
"assetPackPackageManifest": "packages/pipelines/asset-pack/package.json:7f4a82493f32385420e2082c",
160+
"sourceToShares": "packages/btd/src/source-to-shares.ts:6e2e84251b29ba2477766708",
161+
"packageIndex": "packages/protocol/src/index.js:806cfbf3ee86977fead7b928",
162+
"packageTypes": "packages/protocol/src/index.d.ts:907bd1de313f4d5503462765",
163+
"packageSource": "packages/protocol/src/canonical/v44-depositor-earnings-supply-opportunities.js:cf9cf5f99f00dbf3201c8c8e",
164+
"packageTest": "packages/protocol/test/v44-depositor-earnings-supply-opportunities.test.js:1b025c1904f94a1069b64ddf",
165+
"generator": "scripts/generate-v44-depositor-earnings-supply-opportunities.mjs:0844124207cbfe8264f12a2f",
166+
"checker": "scripts/check-v44-gate5-depositor-earnings-supply-opportunities.mjs:85467da9804f946a18c764ce"
167+
},
168+
"predicateResults": [
169+
{
170+
"id": "active-canon-pointer-remains-v43",
171+
"sourcePath": "BITCODE_SPEC.txt",
172+
"passed": true
173+
},
174+
{
175+
"id": "spec-defines-gate5",
176+
"sourcePath": "BITCODE_SPEC_V44.md",
177+
"passed": true
178+
},
179+
{
180+
"id": "spec-names-gate5-artifact",
181+
"sourcePath": "BITCODE_SPEC_V44.md",
182+
"passed": true
183+
},
184+
{
185+
"id": "delta-records-gate5",
186+
"sourcePath": "BITCODE_SPEC_V44_DELTA.md",
187+
"passed": true
188+
},
189+
{
190+
"id": "notes-records-gate5",
191+
"sourcePath": "BITCODE_SPEC_V44_NOTES.md",
192+
"passed": true
193+
},
194+
{
195+
"id": "parity-records-gate5",
196+
"sourcePath": "BITCODE_SPEC_V44_PARITY_MATRIX.md",
197+
"passed": true
198+
},
199+
{
200+
"id": "roadmap-records-gate5",
201+
"sourcePath": "SPECIFICATIONS_ROADMAP.md",
202+
"passed": true
203+
},
204+
{
205+
"id": "readme-records-gate5",
206+
"sourcePath": "README.md",
207+
"passed": true
208+
},
209+
{
210+
"id": "protocol-readme-records-gate5",
211+
"sourcePath": "packages/protocol/README.md",
212+
"passed": true
213+
},
214+
{
215+
"id": "economic-model-prerequisite-present",
216+
"sourcePath": "packages/protocol/src/canonical/v44-economic-domain-model.js",
217+
"passed": true
218+
},
219+
{
220+
"id": "portfolio-market-prerequisite-present",
221+
"sourcePath": "packages/protocol/src/canonical/v44-packs-portfolio-market-intelligence.js",
222+
"passed": true
223+
},
224+
{
225+
"id": "option-policy-prerequisite-present",
226+
"sourcePath": "packages/pipelines/asset-pack/src/deposit-asset-pack-option-policy.ts",
227+
"passed": true
228+
},
229+
{
230+
"id": "earning-intelligence-defines-builder",
231+
"sourcePath": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
232+
"passed": true
233+
},
234+
{
235+
"id": "earning-intelligence-defines-demand",
236+
"sourcePath": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
237+
"passed": true
238+
},
239+
{
240+
"id": "earning-intelligence-defines-statements",
241+
"sourcePath": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
242+
"passed": true
243+
},
244+
{
245+
"id": "earning-intelligence-defines-recommendations",
246+
"sourcePath": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
247+
"passed": true
248+
},
249+
{
250+
"id": "earning-intelligence-forbids-source-leakage",
251+
"sourcePath": "packages/pipelines/asset-pack/src/depositor-earning-supply-intelligence.ts",
252+
"passed": true
253+
},
254+
{
255+
"id": "asset-pack-package-exports-intelligence",
256+
"sourcePath": "packages/pipelines/asset-pack/src/index.ts",
257+
"passed": true
258+
},
259+
{
260+
"id": "asset-pack-manifest-exports-intelligence",
261+
"sourcePath": "packages/pipelines/asset-pack/package.json",
262+
"passed": true
263+
},
264+
{
265+
"id": "deposit-model-uses-intelligence",
266+
"sourcePath": "uapi/app/deposit/deposit-route-model.ts",
267+
"passed": true
268+
},
269+
{
270+
"id": "deposit-client-renders-earnings",
271+
"sourcePath": "uapi/app/deposit/DepositPageClient.tsx",
272+
"passed": true
273+
},
274+
{
275+
"id": "earning-test-covers-intelligence",
276+
"sourcePath": "packages/pipelines/asset-pack/src/__tests__/depositor-earning-supply-intelligence.test.ts",
277+
"passed": true
278+
},
279+
{
280+
"id": "route-test-covers-intelligence",
281+
"sourcePath": "uapi/tests/depositRouteModel.test.ts",
282+
"passed": true
283+
},
284+
{
285+
"id": "page-test-covers-intelligence",
286+
"sourcePath": "uapi/tests/depositPageClient.test.tsx",
287+
"passed": true
288+
},
289+
{
290+
"id": "source-to-shares-prerequisite-present",
291+
"sourcePath": "packages/btd/src/source-to-shares.ts",
292+
"passed": true
293+
},
294+
{
295+
"id": "package-test-covers-gate5",
296+
"sourcePath": "packages/protocol/test/v44-depositor-earnings-supply-opportunities.test.js",
297+
"passed": true
298+
},
299+
{
300+
"id": "package-exports-gate5",
301+
"sourcePath": "packages/protocol/src/index.js",
302+
"passed": true
303+
},
304+
{
305+
"id": "package-types-export-gate5",
306+
"sourcePath": "packages/protocol/src/index.d.ts",
307+
"passed": true
308+
},
309+
{
310+
"id": "package-json-exposes-gate5",
311+
"sourcePath": "package.json",
312+
"passed": true
313+
},
314+
{
315+
"id": "gate-workflow-runs-gate5",
316+
"sourcePath": ".github/workflows/bitcode-gate-quality.yml",
317+
"passed": true
318+
},
319+
{
320+
"id": "canon-workflow-runs-gate5",
321+
"sourcePath": ".github/workflows/bitcode-canon-quality.yml",
322+
"passed": true
323+
},
324+
{
325+
"id": "generator-exists",
326+
"sourcePath": "scripts/generate-v44-depositor-earnings-supply-opportunities.mjs",
327+
"passed": true
328+
},
329+
{
330+
"id": "checker-exists",
331+
"sourcePath": "scripts/check-v44-gate5-depositor-earnings-supply-opportunities.mjs",
332+
"passed": true
333+
}
334+
],
335+
"coverage": {
336+
"depositorEarningSupplyIntelligenceImplemented": true,
337+
"likelyDemandImplemented": true,
338+
"unfitNeedOpportunitiesImplemented": true,
339+
"roiPostureImplemented": true,
340+
"sourceCriticalityPostureImplemented": true,
341+
"expectedCompensationRangesImplemented": true,
342+
"earningStatementsImplemented": true,
343+
"sourceSafeSupplyRecommendationsImplemented": true,
344+
"depositRouteUiImplemented": true,
345+
"sourceToSharesEstimateBoundaryImplemented": true,
346+
"sourceSafeMetadataOnly": true,
347+
"protectedSourceVisible": false,
348+
"rawSourceTextVisible": false,
349+
"sourceSnippetVisible": false,
350+
"rawPromptVisible": false,
351+
"interpolatedPromptVisible": false,
352+
"rawProviderResponseVisible": false,
353+
"unpaidAssetPackSourceVisible": false,
354+
"credentialsSerialized": false,
355+
"walletPrivateMaterialVisible": false,
356+
"settlementPrivatePayloadVisible": false,
357+
"valueBearingMainnetAdmitted": false,
358+
"requiredPredicateCount": 33,
359+
"passedPredicateCount": 33,
360+
"failedPredicateIds": []
361+
}
362+
}

0 commit comments

Comments
 (0)