{
  "name": "camus-loop-studio",
  "version": "0.1.0",
  "private": true,
  "description": "Local demo UI for the Camus loop applied to marketing deliverables: draft \u2192 adversarial review \u2192 deterministic verify \u2192 knows when to stop.",
  "type": "module",
  "engines": {
    "node": ">=18.17"
  },
  "scripts": {
    "pretest": "npm run test:native && node --require ./test-env.cjs --test lib/code-eval-contract.test.mjs lib/code-eval-ledger.test.mjs lib/code-eval-fixture.test.mjs lib/code-eval-runner.test.mjs lib/code-eval-pair-contract.test.mjs lib/code-eval-pair-scheduler.test.mjs lib/code-eval-pair-ledger.test.mjs lib/code-eval-pair-runner.test.mjs lib/code-eval-pair-summary.test.mjs && node --require ./test-env.cjs --test lib/code-owned-process.test.mjs && node --require ./test-env.cjs control-plane.test.mjs && node --require ./test-env.cjs lib/model-routing.test.mjs && node --require ./test-env.cjs lib/adapters/codex-maker.test.mjs && node --require ./test-env.cjs lib/code-seat-launch.test.mjs && node --require ./test-env.cjs lib/code-seats.test.mjs && node --require ./test-env.cjs --test lib/code-inspect.test.mjs lib/productive-code-loop.test.mjs && node --require ./test-env.cjs lib/code-crash-recovery.test.mjs && node --require ./test-env.cjs independent-build-api.test.mjs && node --require ./test-env.cjs productive-build-api.test.mjs",
    "start": "node server.mjs",
    "test:native": "node --require ./test-env.cjs --test lib/code-native.test.mjs lib/adapters/codex-native.test.mjs lib/codex-rpc.test.mjs lib/code-native.integration.test.mjs lib/native-gateway.test.mjs lib/native-harness-policy.test.mjs lib/adapters/native-harness.test.mjs lib/adapters/grok-subscription.test.mjs lib/native-harness.integration.test.mjs",
    "rehearse": "ENGINE=mock node server.mjs",
    "doctor": "node server.mjs --doctor",
    "confirm:claude-route": "node server.mjs --confirm-claude-route",
    "eval:model": "node model-eval.mjs",
    "eval:calibrate": "node model-calibrate.mjs",
    "test": "node --require ./test-env.cjs verify.test.mjs && node --require ./test-env.cjs lib/model-eval-calibration.test.mjs && node --require ./test-env.cjs api.test.mjs && node --require ./test-env.cjs calibration-workspace.test.mjs && node --require ./test-env.cjs calibration-workspace-regression.test.mjs && node --require ./test-env.cjs calibration-workspace-round3.test.mjs && node --require ./test-env.cjs calibration-workspace-lifecycle.test.mjs && node --require ./test-env.cjs public/calibration.test.mjs && node --require ./test-env.cjs halt.test.mjs && node --require ./test-env.cjs anchor.test.mjs && node --require ./test-env.cjs igniter-guard.test.mjs && node --require ./test-env.cjs resume.test.mjs && node --require ./test-env.cjs custody.test.mjs && node --require ./test-env.cjs lib/identity.test.mjs && node --require ./test-env.cjs lib/adapters/claude.test.mjs && node --require ./test-env.cjs lib/adapters/openai-compat.test.mjs && node --require ./test-env.cjs lib/grandfather.test.mjs && node --require ./test-env.cjs connections.test.mjs && node --require ./test-env.cjs catalog-grandfather.test.mjs && node --require ./test-env.cjs config-privacy.test.mjs && node --require ./test-env.cjs lib/capabilities.test.mjs && node --require ./test-env.cjs lib/capability-probes.test.mjs && node --require ./test-env.cjs qualification-api.test.mjs && node --require ./test-env.cjs lib/ssh-tunnel.test.mjs && node --require ./test-env.cjs lib/admission.test.mjs && node --require ./test-env.cjs slice-c.e2e.test.mjs",
    "test:verify": "node --require ./test-env.cjs verify.test.mjs"
  },
  "bin": {
    "camus-loop-studio": "./server.mjs"
  },
  "files": [
    "server.mjs",
    "model-eval.mjs",
    "model-calibrate.mjs",
    "lib",
    "checks",
    "public",
    "README.md",
    "SMOKE.md"
  ]
}
