// Hybrid-Chain offline teaching model: perpetuals-trading // Fictional fields/states; NOT an API client, authorization system or production implementation. // No network calls, credentials, payments or file writes. Review before running. // Requires Node.js 22+. Run: node --test perpetuals-trading.mjs import test from 'node:test'; import assert from 'node:assert/strict'; export function inspect(record) { if (record.observationAge > record.freshnessLimit) return 'STALE_PRICE'; if (!record.marginReviewed) return 'RISK_REVIEW_REQUIRED'; if (!record.outcomeKnown) return 'OUTCOME_UNRESOLVED'; return 'REVIEWABLE_SIMULATION'; } const baseline = { "observationAge": 2, "freshnessLimit": 5, "marginReviewed": true, "outcomeKnown": true }; const cases = [ { "name": "baseline is reviewable, not executable", "patch": {}, "expected": "REVIEWABLE_SIMULATION" }, { "name": "stale source", "patch": { "observationAge": 6 }, "expected": "STALE_PRICE" }, { "name": "missing risk review", "patch": { "marginReviewed": false }, "expected": "RISK_REVIEW_REQUIRED" }, { "name": "unknown outcome", "patch": { "outcomeKnown": false }, "expected": "OUTCOME_UNRESOLVED" } ]; for (const example of cases) { test(example.name, () => { assert.equal(inspect({...baseline, ...example.patch}), example.expected); }); }