{
  "ok": true,
  "role": "product",
  "slug": "trajectorylock",
  "name": "TrajectoryLock",
  "version": "0.1.0",
  "one_line": "Test whether observations fit a declared geometric line.",
  "author": "Aziel Eliab",
  "identity": "Aziel Eliab",
  "aka": "Aziel Elroi Eliab",
  "license": "Apache-2.0",
  "github": "https://github.com/AzielEliab/trajectorylock",
  "skill_url": "https://aziel-runtime.vibelock.workers.dev/v1/pull/trajectorylock/skill",
  "worker_skill": "https://trajectorylock-download-tracker.vibelock.workers.dev/v1/skill",
  "skill": "---\nname: TrajectoryLock\ndescription: Use this when testing geometric compatibility of a reconstructed trajectory with a declared official line. Research prototype, not a certified forensic instrument. Hosted /v1 via this Worker and aziel-runtime. Dual surface: Worker /v1 + catalog MCP. This Worker /v1/mesh/* PROXY to aziel-runtime via AZIEL_RUNTIME. Suite mesh default OFF. QNM-BUILD-1.0 live|locked|isolated. QNS-CD-1.0 photon QNS1 packet transfer is a hub cite / Worker mesh cross-map only (qnm-node qnsd + aziel-runtime cite; AZInterface pair custody). No Node Gate. No public qnsd proxy. No auto-heal. Not anonymity. Author Aziel Eliab.\n---\n\n# TrajectoryLock\n\nAuditable geometric trajectory test. Author: **Aziel Eliab**.\n\n**THIS IS:** research prototype / auditable geometric test. Compatibility vs declared official line. Independence groups so copies don't inflate certainty. CLI + local workbench + JSON API.\n\n**THIS IS NOT:** a certified forensic instrument; substitute for scene reconstruction, medical findings, lab exam; shooter/intent/guilt/narrative identifier; automatic detection of invisible projectiles; face recognition. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.\n\nAlways send a normal `User-Agent` (for example `Mozilla/5.0`). Cloudflare Workers may 403 empty agents.\n\n## When to call it\n\n- Score a **small JSON case** (sources + observations + official_hypothesis) for geometric compatibility.\n- Fetch the synthetic example. Never present it as a real case.\n- Health / skill / OpenAPI. Never invent a shooter, intent, or guilt.\n\nLocal UI is one screen: load JSON, run check, see the result. Import and Export. Doctor/Verify speak in plain words.\n\nHosted `/v1/analyze` caps JSON size and **never stores media**. Full reconstruction is the local package: `trajectorylock analyze` / `trajectorylock ui`.\n\n## Endpoints (this Worker)\n\nHost: `https://trajectorylock-download-tracker.vibelock.workers.dev`\n\n| Method | Path | What |\n|--------|------|------|\n| GET | `/v1/health` | Liveness. Does not increment downloads. |\n| GET | `/v1/skill` | This markdown. Does not increment downloads. |\n| GET | `/v1/mesh` | PROXY suite mesh status. Default OFF. QNM live|locked|isolated. QNS-CD-1.0 cross-map in the payload. Never enables. |\n| GET | `/v1/mesh/nodes` | PROXY Live Nodes roster (5-minute presence). |\n| POST | `/v1/mesh/{enable,disable,join,heartbeat,leave,broadcast}` | PROXY. Bearer required to enable. No auto-heal. |\n| GET | `/v1/example` | Synthetic small JSON case. Not a real case. |\n| POST | `/v1/analyze` | Small JSON case in → result. Cap size. Never stores media. |\n\nOpenAPI: `https://trajectorylock-download-tracker.vibelock.workers.dev/openapi.json`\n\nCatalog OpenAPI: `https://aziel-runtime.vibelock.workers.dev/openapi.json`\n\nMCP: `POST https://trajectorylock-download-tracker.vibelock.workers.dev/mcp`\nalso `POST https://aziel-runtime.vibelock.workers.dev/mcp`\n\n## How to call (Mozilla/5.0)\n\n```bash\ncurl -s -A 'Mozilla/5.0' https://trajectorylock-download-tracker.vibelock.workers.dev/v1/health\n\ncurl -s -A 'Mozilla/5.0' https://trajectorylock-download-tracker.vibelock.workers.dev/v1/mesh\n\ncurl -s -A 'Mozilla/5.0' https://trajectorylock-download-tracker.vibelock.workers.dev/v1/example\n\ncurl -s -A 'Mozilla/5.0' -X POST https://trajectorylock-download-tracker.vibelock.workers.dev/v1/analyze \\\n  -H 'content-type: application/json' \\\n  -d '{\"case_id\":\"MINIMAL-DIRECT-LINE\",\"sources\":[{\"id\":\"survey-a\",\"quality\":0.95,\"calibrated\":true,\"independence_group\":\"survey-a\"}],\"observations\":[{\"type\":\"direct_line\",\"source_id\":\"survey-a\",\"point\":[0,0,1.2],\"direction\":[1,0.1,0.02],\"angular_sigma_deg\":0.5,\"offset_sigma_m\":0.02}],\"official_hypothesis\":{\"point\":[0.01,0.01,1.19],\"direction\":[1,0.11,0.02],\"angular_sigma_deg\":0.7,\"offset_sigma_m\":0.04,\"angle_tolerance_deg\":3.0,\"offset_tolerance_m\":0.25},\"analysis\":{\"monte_carlo_samples\":400,\"random_seed\":7}}'\n```\n\nCatalog aliases:\n\n```bash\ncurl -s -A 'Mozilla/5.0' -X POST https://aziel-runtime.vibelock.workers.dev/p/trajectorylock/analyze \\\n  -H 'content-type: application/json' \\\n  -d '{\"case_id\":\"MINIMAL-DIRECT-LINE\",\"sources\":[{\"id\":\"survey-a\",\"quality\":0.95,\"calibrated\":true,\"independence_group\":\"survey-a\"}],\"observations\":[{\"type\":\"direct_line\",\"source_id\":\"survey-a\",\"point\":[0,0,1.2],\"direction\":[1,0.1,0.02],\"angular_sigma_deg\":0.5,\"offset_sigma_m\":0.02}],\"official_hypothesis\":{\"point\":[0.01,0.01,1.19],\"direction\":[1,0.11,0.02],\"angular_sigma_deg\":0.7,\"offset_sigma_m\":0.04,\"angle_tolerance_deg\":3.0,\"offset_tolerance_m\":0.25}}'\n```\n\nMCP tools: `trajectorylock_health`, `trajectorylock_example`, `trajectorylock_analyze`, `trajectorylock_skill`.\n\n## Use with AI clients\n\nWorks with ChatGPT (GPT Actions / OpenAI), Grok (xAI), Venice, Claude (Anthropic), Cursor (MCP), Glama (MCP), Perplexity, Microsoft Copilot / Bing, Google Gemini / Vertex, Mistral, Meta AI, Apple Intelligence surfaces, Amazon Q tooling, DuckAssist, You.com, Cohere, and other MCP/OpenAPI-capable assistants.\n\nImport the catalog OpenAPI as a custom tool, GPT Action, or HTTP tool. Connect MCP remotes in Cursor, Glama, and other MCP clients.\n\n## Honest banner\n\nTHIS IS: research prototype / auditable geometric test. Compatibility vs declared official line. Independence groups so copies don't inflate certainty.\n\nTHIS IS NOT: a certified forensic instrument; substitute for scene reconstruction, medical findings, lab exam; shooter/intent/guilt/narrative identifier; automatic detection of invisible projectiles; face recognition.\n\nMatch probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.\n\nPaper: TL-WP-0.1 · TrajectoryLock_v0.1.pdf\n\nDOI: https://doi.org/10.5281/zenodo.22258015\nRecord: https://zenodo.org/records/22258015\nFile: TrajectoryLock_v0.1.pdf · Apache-2.0 · Eliab, Aziel\n\nForks are welcome and always allowed.\n\nLocal UI: Import JSON file and Export JSON. Worker homepage Live Nodes strip polls `GET /v1/mesh` (default OFF). QNS-CD-1.0 (photon QNS1 packet transfer) is a hub cite / Worker mesh cross-map only — local qnsd lives in [qnm-node](https://github.com/AzielEliab/qnm-node); runtime cites + catalog field live in [aziel-runtime](https://github.com/AzielEliab/aziel-runtime); pair custody is [AZInterface](https://github.com/AzielEliab/azinterface). Not a Softwares-tab product. No public qnsd proxy.\n",
  "download": "https://trajectorylock-download-tracker.vibelock.workers.dev/download",
  "cite": "https://trajectorylock-download-tracker.vibelock.workers.dev/cite.json",
  "llms": "https://trajectorylock-download-tracker.vibelock.workers.dev/llms.txt",
  "sitemap": "https://trajectorylock-download-tracker.vibelock.workers.dev/sitemap.xml",
  "count": "https://trajectorylock-download-tracker.vibelock.workers.dev/count",
  "install": "https://trajectorylock-download-tracker.vibelock.workers.dev/install.sh",
  "install_sh": "curl -fsSL -A 'Mozilla/5.0' -o install.sh https://trajectorylock-download-tracker.vibelock.workers.dev/install.sh",
  "install_inspect": {
    "url": "https://trajectorylock-download-tracker.vibelock.workers.dev/install.sh",
    "downloads": "That product Worker's install.sh. Typical next fetch is the counted /download on the same hostname. Not aziel-runtime. This runtime has no pipe installer.",
    "steps": [
      "curl -fsSL -A 'Mozilla/5.0' -o install.sh https://trajectorylock-download-tracker.vibelock.workers.dev/install.sh",
      "Inspect install.sh (URLs, write paths, checksums if present).",
      "bash install.sh"
    ]
  },
  "update_check": "https://aziel-runtime.vibelock.workers.dev/v1/update/check?slug=trajectorylock&version=0.1.0",
  "software": "https://aziel-runtime.vibelock.workers.dev/v1/software",
  "openapi": "https://trajectorylock-download-tracker.vibelock.workers.dev/openapi.json",
  "runtime_openapi": "https://aziel-runtime.vibelock.workers.dev/openapi.json",
  "in_runtime": false,
  "ops": [
    {
      "op": "health",
      "method": "GET",
      "summary": "Liveness. Does not increment download KV. Hosted never stores media. Not a certified instrument."
    },
    {
      "op": "example",
      "method": "GET",
      "summary": "Synthetic small JSON case. Not a real case. Does not increment download KV."
    },
    {
      "op": "analyze",
      "method": "POST",
      "summary": "Small JSON case in, geometric result out. Cap size. NEVER store media. Not a certified forensic instrument."
    },
    {
      "op": "verify",
      "method": "POST",
      "summary": "Recompute result_sha256. Not a certified instrument."
    },
    {
      "op": "schema",
      "method": "GET",
      "summary": "List required fields and observation types. Small JSON only."
    },
    {
      "op": "import_export",
      "method": "POST",
      "summary": "Export or import a small JSON case. NEVER store media."
    },
    {
      "op": "hash_put",
      "method": "POST",
      "summary": "Put TrajectoryLock media bytes into the isolate hash store. No CDN. store_media stays refuse."
    },
    {
      "op": "hash_get",
      "method": "POST",
      "summary": "Get isolate-hash media bytes by SHA-256. No public URL."
    },
    {
      "op": "hash_stat",
      "method": "POST",
      "summary": "Stat an isolate-hash media object. Not a CDN."
    },
    {
      "op": "doctor",
      "method": "GET",
      "summary": "Richer liveness: geometry only, no media CDN."
    },
    {
      "op": "skill",
      "method": "GET",
      "summary": "Return TrajectoryLock skill markdown. Does not increment download KV."
    }
  ],
  "banner": "TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
  "limitations": "TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
  "aliases": {
    "catalog_card": "https://aziel-runtime.vibelock.workers.dev/p/trajectorylock",
    "catalog_skill": "https://aziel-runtime.vibelock.workers.dev/p/trajectorylock/skill",
    "catalog_health": "https://aziel-runtime.vibelock.workers.dev/p/trajectorylock/health",
    "invoke_prefix": "https://aziel-runtime.vibelock.workers.dev/p/trajectorylock",
    "update_check": "https://aziel-runtime.vibelock.workers.dev/v1/update/check?slug=trajectorylock&version=0.1.0",
    "software": "https://aziel-runtime.vibelock.workers.dev/v1/software",
    "worker_home": "https://trajectorylock-download-tracker.vibelock.workers.dev/",
    "slugs": [
      "trajectorylock"
    ]
  },
  "doi": "10.5281/zenodo.22258015",
  "doi_note": "Historical DOI only. Do not invent a replacement. See /cite.json.",
  "skill_source": "https://trajectorylock-download-tracker.vibelock.workers.dev/v1/skill (service binding)",
  "kv_increment": false
}