{
  "markdown": "# AURORA Agent (bioprism)\n\n**Query-compiled inference for executable biology.**\n\nContext engineering, with receipts.\n\nAn MCP server and CLI built on the FIBER decision-context compiler: a typed decision query is\ncompiled into the smallest decision-sufficient evidence region, delivered with a Context\nCertificate stating exactly what was omitted.\n\n[![CI](https://github.com/AURORA-NEURO/aurora-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/AURORA-NEURO/aurora-agent/actions/workflows/ci.yml)\n[![Release](https://img.shields.io/github/v/release/AURORA-NEURO/aurora-agent)](https://github.com/AURORA-NEURO/aurora-agent/releases)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)\n[![MCP registry](https://img.shields.io/badge/MCP%20registry-io.github.MurariAmbati%2Faurora--agent-blue)](https://registry.modelcontextprotocol.io/?search=aurora-agent)\n\nImplementation of the AURORA BioPRISM / OncoWorld / FIBER blueprint (v0.6, 935 registered spec\nmodules). A Rust workspace whose central idea is that **context assembly is a compiler pass**:\ninstead of retrieval plus summarisation plus vibes-based compaction, a typed decision query is\ncompiled into the smallest decision-sufficient evidence region, delivered as a **Decision\nSection**, and accompanied by a **Context Certificate** that states exactly what was omitted and\nwhether the omission could have changed the decision.\n\n> Compile the smallest decision-sufficient evidence region. Never traverse the whole knowledge\n> structure by default.\n\n## What the measurements actually say\n\nThe reference world ships 761 facts, 750 of them exploratory distractors that all consume the same\nprotected `cohort_id` hub. FIBER compiles the query down to **11 facts (1.45% of the world)** and\nthe deterministic oracle still returns the correct verdict with all four leakage witnesses.\n\n**It is not alone in doing so.** Under equal tuning, a 5-hop incidence walk and a BM25 retriever at\nk=11 select *exactly the same eleven facts*. The distribution's own `compare_baselines.py` measures\nthe graph baseline only at depth 7 and unbounded — the two settings where it returns everything —\nand reports a 69× advantage that vanishes under equal tuning. That is a strawman comparison, and\ncorrecting it is what 43.38 and 43.41 require.\n\nSo the reference world cannot tell these methods apart. [`crates/worldgen`](crates/worldgen) makes\nthe structure a parameter and builds one that can — distractors attached near the target instead of\nat a hub leaf, decisive facts behind a relay chain, and distractor tags camouflaged to tokenise into\nthe protected vocabulary:\n\n| Strategy | Facts | Sound? | Closure | Admissible |\n|---|---:|:-:|---:|:-:|\n| full-context | 762 | yes | 100% | yes |\n| graph-5-hop | 750 | **no** | 0% | **no** |\n| graph-7-hop | 750 | **no** | 0% | **no** |\n| graph-11-hop | 761 | yes | 100% | yes |\n| lexical-top-11 (BM25) | 11 | yes | **91%** | **no** |\n| **fiber** | **11** | **yes** | **100%** | **yes** |\n\nThree distinct failure modes appear. The graph walk has **no usable depth**: 5–10 pull in 98% of the\nworld *and still miss every decisive witness*; 11 is the first sound setting and by then it has\ntaken everything. BM25 reaches the *right verdict* from a **91% protected closure** — right by luck,\nhaving dropped a protected fact that happened not to matter, and raising k to 50 never recovers it.\nFIBER is the only admissible strategy: right verdict **and** full closure, at 11 facts.\n\nThat last failure is why the harness ranks on admissibility rather than verdict alone — ranking on\nverdict would have crowned the strategy that violated the mandatory closure and got away with it.\n\nThis does not show FIBER wins generally: the discriminating world was built to expose these modes,\njust as the reference world was built to expose hub expansion. The full structural family sweep has\nnow been run — 36 cells over attachment x relay depth x tag style x distractor count — and the two\nformerly missing baselines are in the panel. The sweep's headline is a negative result for FIBER: a\nplain backward walk over the *directed* factor edges, closure first, is admissible in all 36 cells\nat exactly FIBER's fact count, so on this family admissibility and cost cannot distinguish the\ncompiler from that walk; the fixed-basis embedding retriever, by contrast, fails every camouflaged\ncell at the tight budget. Full analysis: [docs/FINDINGS.md](docs/FINDINGS.md). How much of the blueprint the\nworkspace actually covers, and which sections have nothing standing in for them:\n[docs/COVERAGE.md](docs/COVERAGE.md). The crate layout and the blueprint path:\n[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).\n\n## Autonomous agent process boundary\n\nThe Python SDK includes a secret-safe operator entry point for the autonomous brain:\n\n```bash\ncd python\npython -m prism_sdk catalogue\npython -m prism_sdk evidence-plan --domain science\npython -m prism_sdk provider-status --provider openai\n```\n\nFor keyless local development, the same boundary supports an explicit credentialless fixture:\n`python -m prism_sdk provider-status --provider local` and `run --provider local --model local-model`\nuse the runtime's bounded in-memory transport; no key or network provider is contacted.\nFor actual local-model inference without an OpenAI key, use the first-class Ollama preset:\n`python -m prism_sdk provider-status --provider ollama` (default endpoint\n`http://127.0.0.1:11434/v1`), then run with `--provider ollama --model <installed-model>` and\n`--approve-provider-call`. The Ollama path is explicit, credentialless, OpenAI-compatible, and\nloopback-by-default; it fails closed when the local server is unavailable rather than falling\nback to a synthetic response.\nFor a grounded research pass, `LocalNeurosurgicalAgent.grounded_real_data_research()` /\n`grounded_public_literature_research()` (Python) or `groundedRealDataResearch()` /\n`groundedPublicLiteratureResearch()` (TypeScript) composes a bounded real-data or six-specialty\nPubMed context, an explicitly approved credentialless local-model call, and the matching\nauthoritative draft-claim audit. It accepts Ollama or another caller-registered local provider,\nreturns context/bundle digests and structured claims, and remains `grounded_for_human_review`; a\nprovider outage fails closed and never produces synthetic evidence.\nBefore the authoritative draft audit, the bridge requires every model citation to be present in\nthe exact bounded context it received; unseen-but-valid snapshot records are rejected rather than\ntreated as grounded.\nSet `tool_loop=True` (Python) or `toolLoop: true` (TypeScript) to expose bounded, read-only,\ncredentialless snapshot tools to the local model: row search, a ClinicalTrials.gov trial-landscape\nview (`neurosurgery_real_data_trial_landscape_view`), and a cBioPortal/GDC molecular-coverage view\n(`neurosurgery_real_data_molecular_coverage_view`). Calls are capped by explicit turn and call\nbudgets, recorded as a sanitized `tool_trace`, and their returned citation identities are added to\nthe closure check; the final audit widens only to the same source facets, never to a network or\npatient-data tool. The trial and molecular views, plus the comparative\n`neurosurgery_real_data_cohort_landscape_view`, return descriptive aggregates plus exact rows for\ncitation, not eligibility, efficacy, safety, treatment, or patient inference. A third review-queue view\n(`neurosurgery_real_data_review_queue_view`) exposes only explicit missing-link, abstract, date,\nor sample-count obligations for qualified human review; its bounded task rows are citation\nclosed and never treated as clinical findings.\nThe loop also exposes `neurosurgery_real_data_reconciliation_view`, which returns the canonical\nPMID/normalized-DOI crosswalk ledger (missing or shared identifiers, counts, and exact metadata\nrows) for human review. It never repairs or merges identifiers, fetches a source, or treats an\nidentifier relationship as biological or clinical evidence; returned rows are citation-closed.\nIt also exposes `neurosurgery_real_data_research_brief_view`, a deterministic glioma topic-lane\nextractor covering integrated molecular identity, genomics, imaging, pathology, trials, outcomes,\ntumor microenvironment, and treatment-effect metadata. Topic membership is lexical and\nreviewer-facing—not relevance, evidence quality, biology, or clinical advice—and each returned\nrecord is citation-closed to the supplied real snapshot.\nThe public-literature tool loop also exposes `neurosurgery_public_literature_review_queue_view`,\nwhich projects the real PubMed snapshot's missing DOI/abstract/MeSH/publication-type and duplicate-\nidentifier obligations into citation-closed reviewer tasks. It is specialty-scoped, read-only,\nand never treats missing metadata as negative evidence.\nIt also exposes `neurosurgery_public_literature_integrity_view`, which returns bounded PubMed\nsource-completeness and identifier-hygiene counts, review reasons, and exact metadata issues for\nthe caller's fixed lane. Issues remain citation-closed reviewer work; they are never evidence\nrankings, negative findings, or clinical conclusions.\nThe glioma loop also exposes `neurosurgery_real_data_evidence_graph_view`, a bounded traversal of\nexplicit study/profile/PMID crosswalks. Graph edges are identifier/provenance metadata—not causal\nor biological links—and every returned node is added to the citation closure set.\nIt also exposes `neurosurgery_real_data_evidence_acquisition_view`, which turns the validated\nsnapshot and the fixed glioma request into a bounded next-evidence worklist. The worklist carries\nonly local replay queries, source-linked metadata references, match counts, and explicit reviewer\nobligations; it never fetches a source, opens a patient asset, or authorizes a clinical action.\nThe public-literature loop exposes the parallel\n`neurosurgery_public_literature_evidence_acquisition_view` for a fixed specialty lane. It compiles\nthe checked-in PubMed snapshot into the same bounded, reviewer-owned local worklist while keeping\nPMID references and the `human_review_required` boundary explicit; it never treats a planned query\nas proof that evidence exists.\nThe glioma loop also exposes `neurosurgery_real_data_coverage_view`, a digest-bound inventory of\nsource, record-kind, temporal, assay, and explicit linkage coverage plus bounded gaps. It preserves\ncaller scope and omissions, but never converts coverage into a quality score or clinical claim.\nBoth loops also expose `neurosurgery_specialty_evidence_map_view`, which projects the fixed lane's\nidentity, spatial, functional, and temporal coverage states, missingness counters, and reviewer\nquestions. It returns planning metadata only (never observation values or clinical inference), is\nprovider-free/read-only, and rejects reports that drift from the caller's specialty lane.\nWhen the caller supplies an explicit UTC `freshness` clock, the loops also expose a freshness view\n(`neurosurgery_real_data_freshness_view` or `neurosurgery_public_literature_freshness_view`) that\nreturns bounded source-age states and digest metadata. No host clock, fetch, quality inference, or\nsynthetic fallback is used.\nThe function accepts structured real-data facets (record kind, trial status/phase/study type and\ndate bounds, molecular/genomic selectors, linked publication/MeSH selectors, and source IDs) or\nPubMed facets (publication type, MeSH term, and date bounds). A model may add a narrower facet or\nchange lexical text, but cannot override a caller facet or increase its result limit; the specialty\nlane is never model-selectable.\nThe lexical field is optional for facet-only searches; when omitted it uses the current bounded\nquestion (or caller text) as the selector.\nTool results retain bounded source metadata such as trial status/phase/study type, molecular and\ngenomic datatype labels, publication/MeSH labels, aggregate enrollment/sample counts, and abstract\nexcerpts when present; recognized `related_records` edges preserve the source crosswalk, while\npatient-level values are never projected.\nThe glioma tool loop also offers a digest-bound identifier-reconciliation view for canonical\nPMID/normalized-DOI missing/shared rows; it is metadata-only human-review work and never repairs,\nmerges, fetches, or clinically interprets identifiers.\nThe operator commands expose the same mode with `--tool-loop`, `--max-tool-turns 1..8`, and\n`--max-tool-calls 1..32`; persisted traces retain only search-text digests and structured facets.\nFor these grounded helpers, an HTTP provider must resolve to loopback (`localhost`, `127.0.0.1`,\nor `::1`); remote credentialless gateways are rejected before any evidence tool or network call.\nThe bounded `groundedRealDataResearchLoop()` / `groundedPublicLiteratureResearchLoop()` helpers\nextend this into a finite autonomous fan-out: each pass re-renders the source context, audits its\nclaims, and turns only model-reported unknowns into deduplicated metadata queries. The returned\npass ledger, pending queries, termination reason, and loop digest are caller-owned and remain held\nfor human review.\nThe real-data loop also accepts the same structured registry, molecular, genomic, and PubMed\nfacets as `neurosurgery_real_data_query`; the normalized facet set is retained in the ledger and\nbound into its loop digest, so a restart cannot silently switch evidence slices.\nWhen a caller supplies an explicit lexical `text` facet, it is used for the first pass; subsequent\nunknown-derived passes replace only that lexical selector while preserving every structured facet,\nso autonomous follow-up work changes the searched slice without widening its source boundary.\nEach persisted pass also carries a canonical digest of its claim payload; resume rejects missing or\naltered claims before another local-model call.\nThe public-literature loop also accepts structured `public_literature_query` facets (specialty,\npublication type, MeSH term, inclusive date bounds, and limit); follow-up passes change only the\nlexical text selector, and the complete facet set is retained and resume-fenced.\nPass a prior ledger as `resume_from` (Python) or `resumeFrom` (TypeScript) with a larger total\npass budget to continue pending queries after a process restart; schema, provider/model, source\nbundle, and loop digest are revalidated before another local-model call.\nThe provider-free capability router now maps the complete neurosurgical tool surface into both\nbiomedical and neuroscience profiles: sanitized FHIR/DICOM imports, evidence programs and\nautonomous review waves, trial landscapes, molecular coverage, and the public-literature\nrefresh/link/integrity queue, workbench, and portfolio tools. Natural-language routing remains\nlexical and abstaining; it only selects a reviewed capability and never authorizes a provider,\npatient-file access, clinical action, or external effect.\n`grounded_research_portfolio()` / `groundedResearchPortfolio()` coordinates both planes in one\nsource-separated digest: real glioma population evidence and specialty PubMed evidence retain\nindependent loop/audit identities while their counts and pending work are aggregated for review.\nWhen both snapshots are supplied, the portfolio also runs the existing provider-free\n`neurosurgery_literature_link_audit` automatically. Its bounded exact PMID/normalized-DOI links,\nunmatched identifiers, and metadata mismatches remain a separate reviewer artifact and never\nimply cohort overlap, causality, or clinical applicability.\nThe portfolio and `grounded-autopilot` CLI also accept an optional real, de-identified\n`case_asset_manifest` plus bounded query. The authoritative manifest projection contributes only\nasset-kind coverage, digests, and reviewer obligations; asset bytes, identifiers, and clinical\nvalues never enter the local-model context. The attachment is specialty-bound and remains a\nseparate case-provenance plane from population and PMID evidence.\nThe Python process boundary now exposes the same workflow as `aurora-agent grounded-portfolio`:\nit reads bounded, checked-in non-synthetic snapshots, runs Ollama on loopback (or an explicit\nin-memory fixture), and atomically persists a digest-bound answer/claim ledger. `--resume` only\ncontinues a store whose question, provider/model, source selection, and child loop digests verify;\nno API-key argument or prompt exists on this command, and it remains research-only and\nhuman-review gated.\nWhen current public evidence is needed, add `--refresh-real-data` and/or\n`--refresh-public-literature` together with `--approve-network`. The refreshers use only the\nallow-listed credentialless public endpoints, validate each candidate snapshot, and atomically\nreplace the selected files before the first model call. Refresh cannot be combined with `--resume`\nbecause changing a source digest would invalidate the persisted loop; receipts are returned in\n`source_refresh` and the run remains human-review gated.\nThe same receipt is retained in the digest-bound output store and replayed on `--resume` without\nre-fetching sources.\nUse `--real-data-query-file query.json` (also supported by `grounded-autopilot`) to apply a\nbounded JSON facet object to the glioma plane; the selected facet set is retained and resume-fenced.\nUse `--public-literature-query-file query.json` with either command to apply publication-type,\nMeSH, date-range, specialty, and limit facets to the PubMed plane; that slice is also retained and\nresume-fenced.\nFor free-text routing, `aurora-agent grounded-autopilot` first runs the provider-free six-specialty\nintake, stops with `needs_evidence` when the routed snapshot is absent, and only then invokes the\napproved local model. Glioma requires the real glioma snapshot; the other specialties require the\nPubMed snapshot. The envelope preserves source-plane separation and an explicit human-review hold;\nit never falls back to synthetic evidence or emits clinical advice. Its `--intake-output` is an\natomic, digest-bound restart checkpoint: `--resume` rechecks the question, route, source paths,\nprovider/model, and bounded controls (only a larger pass budget is allowed), then hands verified\nchild ledgers back to the worker. Checkpoints retain caller-owned research claims only—never keys,\npatient data, or hidden model state.\nTo refresh that PubMed plane on any supported platform, use the credentialless NCBI boundary:\n`aurora-agent refresh-public-literature --approve-network`. It retrieves six bounded specialty\nlanes, computes the Rust-compatible source and bundle digests, validates `synthetic_data=false`,\nand atomically replaces the snapshot only after every lane is linked and hash-checked. No API key,\nprovider, patient data, or synthetic fallback is accepted.\nThe grounded commands can perform that refresh inline with\n`--refresh-public-literature --approve-network` (and, for glioma, add\n`--refresh-real-data`). Inline refresh is opt-in, refuses `--resume`, and returns source digests\nand retrieval metadata in `source_refresh` so the model never runs against an unreported corpus.\nFor the complete glioma population plane, `aurora-agent refresh-real-glioma --approve-network`\nretrieves only aggregate metadata from ClinicalTrials.gov, NCI GDC, cBioPortal, NCI PDQ, and\nPubMed. It validates the Rust-compatible source hashes and required registry/genomic/portal/\nguideline planes, then atomically installs a last-known-good snapshot; no patient rows, assay\nvalues, imaging, credentials, or synthetic fallback are fetched or retained.\nThe real-data context also serializes each bounded reviewer obligation (task ID, source identity,\nand rationale), so an autonomous worker cannot mistake an unresolved metadata queue for a clean\ncorpus.\n\nResumable evidence-backed provider calls in both SDKs now capture authoritative request, wire,\ncredential, provider configuration, and transport identities before awaited caller callbacks.\nObservers and rehydrators receive detached projections; credential/provider graph checks repeat\nafter callbacks and after the caller-owned dispatch transaction. That transaction must durably\ncommit the private idempotency receipt with the `provider_in_flight` checkpoint before any\ntransport call, and the graph is checked again before terminal settlement. This is a guarded\nsame-process boundary, not an exactly-once claim: deployments still own authenticated durable\nreceipt storage, provider-side idempotency, and uncertain-outcome reconciliation.\n\nThe Rust workspace also ships a dedicated, provider-neutral neurosurgical research agent in\n[`bioprism-neurosurgery`](crates/neurosurgery). It routes de-identified glioma, cranial-base,\ncraniofacial, encephalocele, spina-bifida and Chiari requests through deterministic read-only\ntools, emits explicit evidence gaps and a reproducible request digest, and always holds the\nresult for human review. Each response carries a specialty-specific research profile covering\nidentity, anatomy, time, evidence questions, confounders, and reviewer roles. It uses no OpenAI API or credential; see\n[`docs/NEUROSURGICAL_AGENT.md`](docs/NEUROSURGICAL_AGENT.md). A synthetic fixture exists only for\noffline contract tests; it is not used by the real-data path.\nThe `neurosurgery_evidence_audit` tool adds per-specialty intake coverage for measured,\nunmeasured, uninterpretable, conflicting, and missing-provenance observation classes before the\nroute executes.\nThe `neurosurgery_specialty_evidence_map` tool expands that audit into four explicit dimensions\nfor each lane—identity, spatial/anatomic, functional/intervention, and longitudinal context—so\nglioma, cranial-base, craniosynostosis, encephalocele, spina-bifida, and Chiari review cannot hide\nwhich domain inputs are absent, uninterpretable, conflicting, or provenance-incomplete. It is\navailable through the Rust CLI (`--specialty-evidence-map`), MCP, Python\n`specialty_evidence_map()`, and TypeScript `specialtyEvidenceMap()`; it inventories supplied\nmetadata only and never interprets imaging, pathology, genomics, or operative text.\nThe map self-validates its digest and canonical source rows; mission audits rebuild typed glioma\nmaps against the exact request and supplied snapshots before handoff.\nThe `neurosurgery_evidence_synthesis` tool is the cross-plane handoff: it composes the redacted\ncase audit with caller evidence, the validated real glioma population snapshot, and/or the\nvalidated six-specialty PubMed snapshot. Each plane stays separate, exact source identifiers and\nURIs remain inspectable, optional freshness reports are attached to the supplied bundle digests,\nand cross-bundle PMID correspondences are reported only as links (never as cohort or patient\nclaims). Reference/query bounds, truncation, missing snapshots, and incomplete case coverage\nbecome explicit review items. The Rust CLI (`--evidence-synthesis`), Python\n`evidence_synthesis()`, TypeScript `evidenceSynthesis()`, and MCP expose the same no-key,\nnetwork-free, read-only contract; raw case labels and values are never echoed.\nThe same report is now included automatically by mission helpers: one-bundle missions expose the\ncorresponding evidence plane, while dual glioma missions expose both planes and exact links in a\nsingle digest-bound handoff.\nPersisted synthesis reports self-validate their plane separation, lane counts, freshness bindings,\nasset/disposition projections, and provider boundary; mission audits also replay the report against\nthe exact request and supplied snapshots so a structurally valid report cannot be rebound silently.\nThe `neurosurgery_research_plan` tool turns those explicit gaps into a bounded, source-linked\ncaller handoff. It can query only a supplied local real-glioma or six-specialty PubMed snapshot,\nattaches stable source IDs/URIs for reviewer inspection, and keeps population/citation context\nseparate from patient observations. It never fetches, invokes a model, writes state, or emits\ndiagnosis, prognosis, treatment, triage, or procedural instructions; every plan remains held for\nhuman review. Rust, MCP, Python, TypeScript, and the offline CLI expose the same digest-bound\ncontract with task/reference bounds.\nEvery persisted plan now carries a `plan_digest` and validates its task/source projections; mission\naudits replay the recorded bounds and local queries against the exact request and snapshot before\nhandoff.\nThe `neurosurgery_research_brief` tool adds a deterministic, source-linked reconnaissance pass\nover the same validated snapshots: it groups exact lexical matches into specialty topic lanes,\nreturns stable record IDs/URIs, preserves abstract availability and truncation, reports\ncross-topic overlap and explicit unknowns, and emits reviewer prompts. It does not rank evidence,\nsummarize unsupported claims, call a model, or turn population literature into patient evidence;\n`human_review_required` remains true. The Rust CLI (`--research-brief`), Python\n`research_brief()`, and TypeScript `researchBrief()` facades are parity surfaces for this report.\nPersisted briefs expose `validate_integrity()` and `validate_for_inputs(...)`; mission audits replay\nthe brief against the exact request and source snapshot, including topic counts, truncation, and\nsource-link projections.\nThe standalone `neurosurgery_evidence_graph` projection is likewise digest- and topology-checked;\nits `validate_for_inputs(...)` replay confirms every emitted node/edge came from the exact local\nglioma snapshot and persisted bounds.\nThe shared `neurosurgery_evidence_audit` now carries an `audit_digest` and exact request replay\nguard; downstream evidence programs and research plans therefore inherit a tamper-evident intake\ncoverage primitive for measured, unmeasured, uninterpretable, and conflicting states.\nThe `neurosurgery_evidence_acquisition` tool is the next autonomous worker wave: it turns the same\nexplicit missing/uninterpretable/conflicting/provenance gaps into a bounded dual-plane worklist,\nquerying only caller-supplied validated real-glioma and/or PubMed snapshots. Each step carries a\nsource tag, trigger, deterministic digest, local match/truncation status, fallback-to-specialty-scan\nflag, and replayable references; missing sources remain explicit obligations. Rust, MCP, Python\n`evidence_acquisition()`, TypeScript `evidenceAcquisition()`, and the offline CLI expose this\nprovider-free surface. The lifecycle variants (`evidence_acquisition_start`, bounded\n`evidence_acquisition_advance`, and `evidence_acquisition_finish`, with matching Python and\nTypeScript methods) let a caller persist and resume a digest-bound checkpoint; changed request,\nquery, or snapshot bytes are refused before replay. It never fetches, needs an API key, opens\nasset bytes, or promotes a population/citation match to a case finding, and\n`human_review_required` remains true. [`scripts/run_neurosurgical_acquisition_worker.ps1`](scripts/run_neurosurgical_acquisition_worker.ps1)\ndrives the caller-owned checkpoint loop locally and writes no credentials or clinical state.\nIt accepts `-CaseAssetManifestPath` plus the optional `-CaseAssetManifestQueryPath` and\n`-CaseAssetReviewDispositionPath`, so the same worker can carry a real de-identified multimodal\nreview projection and its persisted reviewer state through every wave.\nWhen a real de-identified `case_asset_manifest` is supplied, the acquisition report also carries\nthe manifest report digest and bounded asset review items (missing source, digest, timestamp,\nuninterpretable, conflicting, or requested-class obligations). Start/advance/finish re-bind that\ndigest on every replay, so a local worker cannot silently drop multimodal provenance while\nreplaying population or citation queries. The offline CLI accepts the same projection with\n`--case-asset-manifest <path>` and `--case-asset-manifest-query <path>` alongside\n`--research-plan --autonomous-acquisition`; Python and TypeScript expose matching optional\narguments on each lifecycle method.\nFor real glioma research, use the provenance-bound public snapshot in\n[`data/neurosurgery/glioma_public_snapshot.json`](data/neurosurgery/glioma_public_snapshot.json)\nand refresh it (without a provider key) with\n[`scripts/refresh_glioma_public_data.ps1`](scripts/refresh_glioma_public_data.ps1).\nThe checked-in [`data/neurosurgery/glioma_extended_snapshot.json`](data/neurosurgery/glioma_extended_snapshot.json)\nadds the real NCI GDC TCGA-LGG project (516 aggregate cases) alongside TCGA-GBM (617); it is\ngenerated by the same script with `-GdcProjectIds @(\"TCGA-GBM\",\"TCGA-LGG\")`. The baseline remains\nunchanged for replay compatibility, while callers can opt into the broader glioma population\nbundle and its distinct source digest. The checked-in extended bundle also uses the broader\nreal PubMed query `(glioma OR glioblastoma OR diffuse midline glioma OR oligodendroglioma OR\nastrocytoma) AND (molecular OR genomic OR IDH OR MGMT OR methylation)` under the stable\n`pubmed_glioma_molecular` source ID, so lower-grade and histomolecular terminology is not silently\nexcluded from the citation plane. Each extended GDC project also carries aggregate file/data-type\nfacets (for example somatic mutation, aligned-read, slide-image, transcript-fusion, and\nmethylation availability) without exposing files, samples, or assay values.\nFor an end-to-end candidate workflow, [`scripts/run_glioma_refresh_review.ps1`](scripts/run_glioma_refresh_review.ps1)\nvalidates the baseline, refreshes a separate candidate from public endpoints, runs the core\nrefresh audit, and writes a report without replacing the baseline; promotion remains an explicit\nreviewer action. It accepts the same `-GdcProjectIds`, `-PubMedTerm`, and `-PubMedSourceId`\nscope controls as the low-level refresh script, so the candidate audit can cover the wider\nreal-glioma population without silently changing the baseline.\nThe refresh script defaults to a bounded 20-record PubMed window and accepts `-PubMedLimit 1..50`\nfor an explicit corpus size. `-PubMedTerm` and `-PubMedSourceId` widen the real citation lane\nwithout losing query/source provenance; replacement of an existing snapshot is atomic and cleans\nits temporary backup after promotion.\nSource IDs are stable across retrieval dates; timestamps and content hashes carry freshness and\nchange information without turning every refresh into a remove-and-add event.\nThe `neurosurgery_real_data_refresh_audit` tool is the restart-safe reconciliation layer for that\nworkflow: give it two independently validated snapshots and it composes structural diff, coverage,\nfreshness (when requested), review-queue obligations, and the research brief into one digest-bound\nreport. It preserves stable source/record identity, emits explicit refresh-review reasons, and never\naccepts, merges, fetches, ranks, or writes a candidate snapshot. The Rust CLI\n(`--real-data-refresh-audit`), Python `real_data_refresh_audit()`, and TypeScript\n`realDataRefreshAudit()` facades expose the same provider-free contract; human review remains\nrequired.\nFor long-running work, the `neurosurgery_session` MCP tool provides digest-bound start/advance/\nfinish checkpoints so a caller can resume one read-only specialty tool at a time without hidden\nserver state. Checkpoints also bind the canonical specialty route, session identity, event status,\nand terminal hold, so identity or route mutations fail closed before a resumed tool runs.\nEvery terminal `AgentResponse` now carries a `response_digest` over its complete route, tool trace,\nevidence-gap projection, and nested provenance summaries. Rust callers can invoke\n`validate_integrity()` for persisted-envelope checks and `validate_for_request(...)` for exact\nrequest replay; session finish rejects a response that fails either structural envelope gate.\nMission envelopes now also carry the same bounded `evidence_acquisition` plan, so a single\nprovider-free mission exposes the specialty route, source-linked research plan, real-data/literature\npacket, and resumable acquisition worklist together without merging evidence planes.\nThey also carry an `evidence_program`: six protocol-defined review tracks per lane (for example\nglioma histomolecular identity, imaging phenotype, surgery/function, response endpoints,\nmicroenvironment, and trial design) are projected onto exact IDs in the attached real snapshots.\n`neurosurgery_evidence_program` and the Python `evidence_program()` / TypeScript\n`evidenceProgram()` facades expose the same agenda directly. Track matches are transparent\nlexical retrieval observations with bounded references, required observation classes, and\nspecialist reviewer roles. Each track also carries metadata-only observation coverage copied from\nthe typed intake audit (`measured`, `unmeasured`, `uninterpretable`, or `conflicting`), missing\nclasses, and provenance gaps; this is a worklist signal, never a sufficiency score. Empty and\ntruncated tracks remain unknown. The program is read-only,\nprovider-free, network-free, synthetic-data-free, and human-review gated—it does not rank\nevidence, make a glioma classification, or emit treatment or operative guidance.\nWhen a persisted `case_asset_review_disposition` ledger is supplied with the manifest, its\ndigest and pending/resolved counts are carried into both the evidence program and acquisition\nplan; stale or tampered reviewer state is refused.\nWhen a real de-identified `case_asset_manifest` is supplied, each track also joins its required\nobservation classes to digest-only imaging, pathology, molecular, operative, functional,\ndevelopmental, longitudinal, or anatomical coverage. `observed`, `present_not_observed`, and\n`missing` states make the next export/review obligation actionable without reading asset bytes;\nthe optional `asset_coverage_complete` flag is inventory metadata, not clinical sufficiency.\nTracks also emit a deterministic `review_worklist` for observation/provenance gaps and unresolved\nasset classes, giving a local worker explicit next metadata checks without inventing findings.\nEvidence-program reports self-validate their canonical tracks, coverage/count invariants,\nsource references, freshness bindings, and digest; mission audits replay them against the exact\nrequest and supplied snapshots before handoff.\nPersisted case-asset projections expose `validate_integrity()` and\n`validate_for_request(...)` guards; synthesis, evidence-program, and acquisition joins refuse a\ntampered or request-mismatched report before it can enter a digest-bound handoff. This protects\nrestart/review workflows without pretending that an upstream asset digest proves the asset's\nclinical truth.\nThe offline CLI exposes the same pass with `--evidence-program`, `--real-glioma <snapshot>`\nand/or `--public-literature <snapshot>`; add `--evidence-program-query <query.json>` to bound\nlane, track, reference, abstract, or freshness controls.\n[`data/neurosurgery/evidence_program_query.json`](data/neurosurgery/evidence_program_query.json)\nis an all-six-lane query template for the checked-in PubMed snapshot.\nMission envelopes also include a final `mission_audit` receipt. It verifies specialty/status\nidentity, request digests, real/public snapshot digests, required report-plane presence, the\ncase-asset-to-synthesis and case-asset-to-evidence-program bindings, and the provider-free human-review boundary. `integrity_ok` is\nan assembly/provenance invariant only; it is not a clinical readiness or evidence-quality score.\nPersisted mission envelopes now have a single replay gate: Rust\n`NeurosurgicalMissionResult::validate_integrity()` checks the terminal response/session chain and\nall nested receipts without inputs, while `validate_for_inputs(...)` rebuilds the mission audit\nagainst the exact request and caller-owned snapshots. Changed request or snapshot bytes fail\nclosed before a worker can reuse the packet. The MCP `neurosurgery_mission` tool accepts\n`operation: \"validate\"`; Python `validate_mission()`, TypeScript `validateMission()`, and the\noffline CLI `--validate-mission <mission.json>` expose the same no-key, read-only replay check.\nWhen a mission carries a DICOM or FHIR receipt, exact replay additionally requires the original\nsanitized metadata export (`--mission-case-dicom` or `--mission-case-fhir` on the CLI, or the\nmatching case-import object on the MCP validation call); otherwise validation fails closed rather\nthan treating receipt-shape integrity as source replay.\nThe `neurosurgery_catalogue` MCP tool exposes all specialty profiles and read-only tool specs\nbefore execution, while `neurosurgery_real_data_query` searches the validated public bundle by\nstable record text, cBioPortal molecular-profile modality, trial status, exact registry phase or\nstudy-type facets, inclusive registry update-date bounds, exact GDC `genomic_data_type` file\nfacets, case-insensitive PubMed `publication_type`/`mesh_term` indexing facets, inclusive PubMed\n`publication_date_from`/`publication_date_to` bounds, record-kind/source facet, or explicit\nrelationship facet, including PMID/title/DOI/abstract/MeSH matches from the PubMed lane. These\nindexing facets narrow literature metadata but do not act as study-quality scores.\nGenomic-project hits additionally expose aggregate GDC file/data-type facets when present, keeping\nmodality availability source-linked without returning files, samples, or molecular values.\nPubMed hits carry bounded source-text excerpts and indexing tags for reviewer inspection. Clinical\ntrial hits also preserve optional ClinicalTrials.gov study type, aggregate enrollment target,\nintervention names, phases, and last-update date; portal-study hits preserve optional public sample\ncounts; PubMed hits preserve publication dates. Partial PubMed chronology (year-only or month-only\nsource dates) remains missing rather than being padded with an invented day. Missing upstream\nfields remain absent rather than guessed. Hits also carry explicit study↔profile/publication relationships so a caller can traverse\nthe evidence graph without inferring links from prose. Molecular-profile rows describe available assay modalities only;\nthey never expose mutation, expression, or patient-level values. Responses also include deterministic\ncounts of profile modalities and explicit relationships so a reviewer can see assay coverage and\ncross-source connectivity before inspecting source-linked metadata.\nPubMed hits are metadata-only and require reviewer verification before substantive use; the Rust\nsummary also exposes a PMID crosswalk to flag unmatched portal citations without inferring cohort\nidentity. The Python SDK exposes the same provider-free lifecycle through\n`LocalNeurosurgicalAgent`, including bounded session iteration, catalogue discovery, and public\nrecord queries for UI or worker integrations.\nPersisted real-data and PubMed query results now expose `validate_integrity()` plus exact\n`validate_for_inputs(...)` replay; mission audits invoke those gates so a changed query, hit list,\nor count projection cannot be smuggled into a persisted mission.\n`neurosurgery_real_data_trial_landscape` adds a digest-bound, provider-free ClinicalTrials.gov\nmetadata reconnaissance over the same validated snapshot: bounded status, multi-label phase,\nstudy-design, intervention, update-date, source, missingness, and truncation projections. It\nnever ranks trials or infers eligibility, efficacy, safety, outcomes, or patient-level meaning;\nmulti-phase rows are counted explicitly rather than collapsed into a misleading trial total.\n`neurosurgery_real_data_molecular_coverage` adds the complementary cBioPortal availability\nledger: exact alteration-type/datatype facets, per-study profile counts, analysis-visible and\npatient-level metadata flags, description coverage, explicit missing alteration/datatype counts,\naggregate GDC project file/data-type facets, and explicit row/study/facet\ntruncation or missing-facet reasons. It inventories only public assay metadata already in the snapshot—no\nmutation/expression values or sample identifiers—and is digest-bound, replayable, provider-free,\nnetwork-free, and human-review gated. The canonical evidence packet includes this ledger\nautomatically alongside the trial and comparative cohort landscapes.\n`neurosurgery_real_data_cohort_landscape` adds the comparative genomic-project view used by the\nautonomous loop and is included automatically in newly generated evidence packets and missions.\nIt compares the source-linked TCGA/GDC projects already present in the validated\nbundle, reporting aggregate released-case inventory and per-project file/data-type availability\nwith explicit truncation and missing-metadata reasons. The view is read-only, provider-free, and\nmetadata-only: rows are citation surfaces, counts are descriptive planning context, and it never\nopens files, exposes samples or molecular values, merges cohorts, or makes a clinical claim.\nFor natural-language entry, `neurosurgery_intake_plan` (and the Python `intake_plan()` /\nTypeScript `intakePlan()` facades) performs deterministic lexical routing into the six closed\nspecialty routes. It returns bounded candidates, abstains on weak or ambiguous wording, and lists\ncaller-supplied evidence snapshot classes, reviewer roles, and next research actions. The question\nis represented in the returned plan only by a SHA-256 digest; scores are routing units, not\nprobabilities or clinical risk, and an explicit specialty is only a research-routing override.\nThis makes free-text intake useful without adding a model provider, credential, network,\npatient-file, diagnosis, or procedure capability.\nThe closed vocabulary includes specialist subtopics rather than only disease names: glioma\nhistomolecular markers and treatment-effect terms; petroclival/cavernous-sinus and cranial-nerve\ntopics; craniosynostosis suture and syndromic terms; encephalocele variants and CSF rhinorrhea;\nspinal dysraphism, tethering, and neurogenic-bladder terms; and Chiari measurements, cine-MRI, and\nCSF-flow terms. These are routing labels only and never become inferred findings.\n`neurosurgery_intake_mission` (and `intake_mission()` / `intakeMission()`) composes that planner\nwith a guarded research-only mission: ambiguous questions return a digest-only abstention,\nselected glioma routes require the validated real glioma snapshot (with PubMed as optional\nsupplement), and the other specialties require the validated PubMed snapshot. Executed results\ncontain no raw question or request payload and remain provider-free, network-free, read-only, and\nheld for human review.\nCallers may optionally include a de-identified `case_request` with observations, provenance, and\nevidence. It is validated before any bundle query and carried into the guarded route, so a real\ncase can be reviewed without the old empty-case fallback; the case payload is never echoed in the\nintake envelope. If omitted, the mission still runs the route but exposes the resulting observation\ngaps for human follow-up.\nAn optional `case_asset_manifest` plus `case_asset_manifest_query` carries real, de-identified\nmultimodal asset metadata into the nested mission. The manifest is digest-bound, requires explicit\nasset states, and never opens bytes; use the same pair with the Rust CLI's `--intake-mission`.\nThe intake mission also accepts `case_dicom_import` and `case_fhir_import` directly (Python\n`intake_mission(..., case_dicom_import=..., case_fhir_import=...)`, TypeScript\n`intakeMission(..., caseDicomImport, caseFhirImport)`, MCP fields, or CLI\n`--intake-case-dicom`/`--intake-case-fhir`). These imports take the same independently validated,\ndigest-only route and may be combined with each other, but not with a second asset manifest.\nAn already persisted `case_asset_review_disposition` ledger can be supplied in the same intake\nmission call (Python `case_asset_review_disposition=...`, TypeScript\n`caseAssetReviewDisposition`, or the MCP field). Its report digest and reviewer counts are\nvalidated before evidence handoff and rebound into synthesis, evidence programming, acquisition,\nand the final audit; it never changes the manifest or creates a clinical conclusion.\nIf a real case is exported through FHIR, `neurosurgery_case_fhir_import` (Rust\n`NeurosurgicalAgent::case_fhir_import`, Python `case_fhir_import()`, TypeScript\n`caseFhirImport()`, or CLI `--case-fhir-import <import.json>`) projects a caller-sanitized FHIR\n`Bundle` into that same digest-only asset boundary. The import requires `deidentified: true`,\n`synthetic_data: false`, bounded `resourceType`/`id` metadata, and an explicit asset-kind/status/\nprovenance hint; it\nrejects identifiers, patient references, narratives, codes, measurements, and raw text. The\nBundle is never echoed or interpreted, unclassified resources become reviewer tasks, and the\nreport can be replayed against the exact request, Bundle, and hints without an API key or network.\nIf the imaging archive exports standard DICOM JSON, `neurosurgery_case_dicom_import` (Rust\n`NeurosurgicalAgent::case_dicom_import`, Python `case_dicom_import()`, TypeScript\n`caseDicomImport()`, or CLI `--case-dicom-import <import.json>`) projects only bounded\nseries-level metadata such as modality, body region, study/series/SOP UID digests, dates,\ndescriptions, and series number. It accepts one dataset or an array (up to 512 datasets and 4 MiB\nof metadata), refuses patient-identifying tags and `PixelData`, ignores unknown/private tags, never\nopens DICOM bytes, and never interprets an image. Missing SeriesInstanceUID, acquisition dates,\nmodality, body region, and object-byte SHA-256 digests become explicit review obligations; the\ndigest-bound report is replayable, non-synthetic, provider-free, network-free, and human-review\ngated.\nFor a single end-to-end handoff, `neurosurgery_case_dicom_evidence_workflow` (Rust\n`NeurosurgicalAgent::case_dicom_evidence_workflow`, Python `case_dicom_evidence_workflow()`,\nTypeScript `caseDicomEvidenceWorkflow()`, or CLI `--case-dicom-evidence-workflow`) composes\nthat real metadata projection with validated real glioma/PubMed records, evidence synthesis, the\nsix-track review program, and a resumable local acquisition checkpoint. Every nested report is\nbound to the same request and DICOM manifest digest; the output remains provider-free,\nnetwork-free, read-only, non-synthetic, and held for human review.\nThe repeatable PowerShell wrapper\n[`scripts/run_neurosurgical_dicom_evidence_workflow.ps1`](scripts/run_neurosurgical_dicom_evidence_workflow.ps1)\nvalidates inputs, runs the offline CLI, and writes a caller-selected report without promoting\ndata or retaining credentials.\nFor a mission-level glioma dossier, pass the same DICOM import as `case_dicom_import` to\n`neurosurgery_mission` (Python `run_research_mission(..., case_dicom_import=...)`, TypeScript\n`runResearchMission(..., caseDicomImport)`, or CLI `--mission-case-dicom <import.json>` together\nwith `--mission --real-glioma`). The mission carries the DICOM receipt and verifies that its\nmanifest digest is rebound through synthesis, evidence programming, and acquisition; this\nconvenience lane is real-glioma-only and can be composed with a sanitized FHIR import for a\nmultimodal digest-only manifest, but not with a second asset manifest or disposition.\nFor a repeatable local run of that mission-level lane, use\n[`scripts/run_neurosurgical_mission_with_dicom.ps1`](scripts/run_neurosurgical_mission_with_dicom.ps1);\nit validates the DICOM/manifest/synthesis bindings and refuses a nonzero mission audit before\nwriting the report.\nThe same mission envelope accepts a sanitized FHIR metadata import as `case_fhir_import` (Python\n`run_research_mission(..., case_fhir_import=...)`, TypeScript `runResearchMission(...,\ncaseFhirImport)`, or CLI `--mission-case-fhir <import.json>`). It works with a real glioma bundle,\na cross-specialty PubMed bundle, or both; the FHIR receipt's digest-only manifest is rebound through\nthe same synthesis, evidence-program, acquisition, and mission-audit planes. FHIR resources and\nclinical values are never returned or interpreted. FHIR and DICOM imports may be supplied together;\ntheir independently validated digest-only projections are unioned into one multimodal manifest\nwhile both child receipts remain visible. A separate asset manifest or disposition ledger cannot\nbe mixed into an import-backed mission.\nIntake missions and portfolios also accept an optional caller-clocked `freshness` policy inline\nor via the CLI `--intake-freshness <query.json>` flag. Resulting real/PubMed freshness reports are\ndigest-bound; omission means freshness is unclaimed and the server never consults its own clock.\nWhen it executes, only the planner's matched closed-vocabulary terms become bounded local\nreal-data/PubMed filters; the original free text is never echoed into those reports. An explicit\nspecialty-only hint uses that lane's canonical corpus term (for example `glioblastoma` for\nglioma) when no lexical terms were matched.\nThe same intake orchestration is available without MCP: pipe a flat JSON intake query to\n`bioprism-neurosurgery --intake-mission` or `--intake-portfolio` and pass the checked-in\n`--real-glioma` and/or `--public-literature` snapshots. These CLI modes perform the same\nvalidation, provenance checks, and human-review hold with no provider, API key, or network.\nFor a repeatable worker that refreshes both public bundles into non-promoted candidates, audits\ntheir drift, and then runs the portfolio against the validated candidates, use\n[`scripts/run_neurosurgical_intake_portfolio.ps1`](scripts/run_neurosurgical_intake_portfolio.ps1).\nIt emits one machine-readable worker envelope and never promotes a candidate snapshot. Supply\n`-FreshnessQueryPath` to bind a caller-owned source-age clock, or\n`-CaseAssetManifestPath` plus the optional `-CaseAssetManifestQueryPath` to carry real,\nde-identified multimodal provenance into a selected-lane portfolio. A persisted\n`case_asset_review_disposition` ledger can accompany that manifest and is replayed into the\nnested mission's synthesis/acquisition audit; all-six-lane portfolios refuse both the manifest\nand its ledger. The PowerShell worker accepts the same ledger through\n`-CaseAssetReviewDispositionPath`.\nFor cross-specialty reconnaissance, `neurosurgery_intake_portfolio` (and\n`intake_portfolio()` / `intakePortfolio()`) fans those filters across one selected lane or an\nexplicit all-six-lane portfolio. Each lane remains independent and source-linked; an all-lane\nportfolio requires both the PubMed snapshot and the real glioma snapshot because glioma is part\nof the requested scope. A selected-lane portfolio can carry the metadata-only case-asset manifest\npair; an all-lane portfolio refuses a single-specialty asset attachment, including its reviewer\nledger. A selected-lane call may carry `case_asset_review_disposition=` through the nested\nmission. The worker verifies the selected lane's nested evidence-synthesis asset digest and coverage counts before emitting its\nenvelope.\nUse `neurosurgery_evidence_graph` (or `evidence_graph()` / `evidenceGraph()`) when a reviewer\nneeds the explicit, bounded study/profile/PMID crosswalk: it returns source URIs, root traversal,\ncomponent/isolate counts, omissions, and a digest without inferring biology, causality, or clinical\naction.\nA complementary `neurosurgery_real_data_coverage` report audits the same real snapshot by source,\nrecord kind, trial-update/publication-date axis, assay modality, abstract availability, and explicit\nstudy/profile/PMID linkage gaps. It preserves missing dates, exposes retrieval metadata, and binds a\ncoverage digest; it does not score freshness or evidence quality, merge cohorts, or make clinical\nclaims.\nCoverage reports expose `validate_integrity()` and `validate_for_inputs(...)`; mission audits use\nthe exact replay check before a local worker can consume the coverage plane.\n`neurosurgery_real_data_reconciliation` is the companion cross-source identifier ledger. It\nreplays one validated snapshot and reports only exact PMID/normalized-DOI findings: portal PMIDs\nmissing from the local literature window, PMIDs shared by multiple portal studies, and DOIs shared\nby multiple literature rows. Counts remain visible when findings are truncated, identifiers are\nnever merged or repaired, and any finding sets `requires_review`; this is metadata review work,\nnot a biological, clinical, or evidence-quality conclusion. It is available as\n`RealGliomaBundle::reconcile`, `LocalNeurosurgicalAgent.real_data_reconciliation()`, and\n`realDataReconciliation()` with no provider, network, or API key.\nReal-data missions also attach a bounded `real_data_trial_landscape` inventory over the\nClinicalTrials.gov rows and a `real_data_molecular_coverage` inventory over cBioPortal assay/profile\nmetadata. Both are digest-bound to the same validated snapshot, preserve truncation and missing\nmetadata as review obligations, and never rank trials, infer eligibility, expose patient-level\nassay calls, or make efficacy, safety, diagnostic, prognostic, or treatment claims.\n`neurosurgery_real_data_freshness` is the explicit age posture companion: provide a caller-owned\nUTC `as_of` timestamp and `max_age_days` policy to classify each source as `current`, `stale`, or\n`future_dated`. A future-dated source forces `requires_review`; age is never treated as evidence\nquality, applicability, or clinical relevance. The report is digest-bound, read-only, provider-free,\nand available for the cross-specialty PubMed snapshot as `neurosurgery_public_literature_freshness`.\nFreshness reports expose `validate_integrity()` and exact replay methods for real-glioma and\ncross-specialty snapshots; mission audits refuse a stale or future-dated posture that has drifted\nfrom its caller-supplied clock or source bundle.\nReal-data missions include the ordered, source-linked `research_plan`, coverage audit, bounded\n`real_data_trial_landscape` and `real_data_molecular_coverage` inventories, metadata review queue,\nbounded evidence packet, explicit evidence graph, digest-bound\n`real_data_autonomous_workflow`, and `real_data_reasoning_context` automatically alongside any optional bounded record query and the\nresumable human-review workflow. The plan and queue turn explicit intake gaps into caller-owned\nnext-review tasks; the packet/context are source-addressable input for a caller-owned local model or\nreviewer. Neither is a model invocation or clinical conclusion. Public-literature missions carry\nthe corresponding bounded PMID evidence packet and automatically run the lane-scoped\n`public_literature_integrity_audit` before packet/brief/context handoff. Missing DOI, abstract,\npublication-type, and MeSH metadata plus duplicate identifiers remain explicit review obligations;\nthey are never treated as negative evidence.\nThe same mission envelope carries a bounded `public_literature_review_queue` with stable\nsource-linked reviewer tasks so real metadata gaps become actionable review work without a\nprovider key or clinical interpretation.\nThat queue exposes `validate_integrity()` and `validate_for_inputs(...)`, keeping persisted task\nrows tied to the exact integrity audit and public snapshot.\nThe companion `neurosurgery_public_literature_workbench` joins each selected lane's closed\nspecialty profile (identity, spatial, temporal, evidence-question, confounder, and reviewer-role\naxes) to exact snapshot coverage, abstract availability, metadata gaps, and integrity-review\ncounts. It is navigation metadata rather than a readiness or quality score: lanes are never\nranked, missing fields are never imputed, and no diagnosis, prognosis, treatment, triage, or\nprocedural action is emitted. Use `--public-literature-workbench <public>` with a JSON query on\nstdin, Python `public_literature_workbench()`, or TypeScript `publicLiteratureWorkbench()`;\npublic-literature missions attach the request-specialty workbench automatically.\nThe integrity audit, workbench, matrix, and portfolio reports expose digest/exact-replay checks;\npersisted multi-lane review state must be replayed against the same public snapshot before use.\n\nThe `neurosurgery_public_literature_portfolio` pass composes that workbench into one bounded\nmulti-lane handoff: every selected specialty receives an exact lexical query result, its profile\nand coverage lane, and a stable reviewer queue (all six lanes by default). It uses only the\nvalidated real PubMed snapshot and preserves explicit hit, review-item, omission, and truncation\ncounts. The portfolio is provider-free (`provider: none`, `network: false`, `synthetic_data: false`),\ndoes not rank evidence or infer a clinical conclusion, and never fetches URLs, opens credentials,\nor writes durable state. Use `--public-literature-portfolio <public>` with JSON on stdin, Python\n`public_literature_portfolio()`, or TypeScript `publicLiteraturePortfolio()`.\n\nObservations may also carry caller-supplied UTC `observed_at` values and de-identified `timepoint`\nlabels. The `neurosurgery_evidence_audit` response (and `--temporal-audit` CLI mode) now includes a\ndigest-bound `temporal_alignment` report with ordered timestamps, same-time observations, undated\nrecords, required specialty classes without dates, and caller-order inversions. This is an explicit\nlongitudinal metadata audit—not a progression, response, prognosis, diagnosis, or treatment model;\ndates are never inferred from free text.\nFor refresh monitoring, `neurosurgery_real_data_diff` compares two validated snapshots and exposes\nadded, removed, or changed public records plus source-metadata changes by stable identifier; it\nnever copies abstracts, scores freshness, merges cohorts, or makes a clinical claim.\nDiff reports expose `validate_integrity()` and `validate_for_inputs(...)` so refresh decisions can\nbe replayed against the exact before/after snapshots.\nThe composed refresh audit applies the same nested integrity and exact-replay checks across the\ndiff, coverage, freshness, review queue, and research brief planes.\n`neurosurgery_real_data_review_queue` then derives a bounded, digest-addressed human-review queue\nfrom explicit snapshot gaps (missing crosswalks, unlinked citations, absent/clipped abstracts,\nunknown registry dates, or unknown sample counts) without imputing values or assigning clinical\nurgency.\n`neurosurgery_real_data_review_disposition` applies caller-owned `reviewed`, `unresolved`, or\n`not_applicable` state to emitted queue tasks, verifies the queue digest, and preserves omitted or\nundecided obligations as pending; it never edits source facts or produces a clinical conclusion.\n`neurosurgery_real_data_evidence_packet` composes the validated summary, coverage, explicit\ncrosswalk, bounded source-linked query hits, canonical ClinicalTrials.gov trial landscape, and\nreview queue into one packet digest for a local model or human reviewer; nested omissions and\nunknowns remain visible. The packet also carries the canonical cBioPortal molecular-availability\nledger (per-study profile/modalities, explicit description gaps, and boundedness) so a local worker\ncan see what assay metadata is actually present before reasoning. Both real-glioma and\ncross-specialty literature packets accept an optional `freshness` query with an explicit UTC\n`as_of` and return the digest-bound current/stale/future-dated source posture when requested;\nomitting it never invents a clock or claims that the snapshot is fresh.\nThe real-glioma packet also carries a canonical PMID/normalized-DOI reconciliation ledger;\nmissing or shared identifiers remain explicit provenance-review obligations before a local model\ncan rely on the crosswalk.\n`neurosurgery_real_data_reasoning_context` renders that packet into a deterministic, bounded\nlocal-model context with digest-bound headers, source-addressable record blocks, optional\nuntrusted abstract excerpts, and explicit character/query omissions. It never invokes a model or\nturns source text into a clinical conclusion.\nThe context envelope exposes `validate_integrity()` and `validate_for_inputs(...)` as well; a\nworker must verify the persist",
  "bytes": 60000,
  "sha": "f5f9737b8b34c418e88cf7195191882b639fd797c9820518ee912caea839e33e",
  "repo_slug": "aurora-neuro/aurora-agent",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_murariambati_aurora_agent_fe27ca19/readme"
}