{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:32:09.668Z","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis","markdownUrl":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis.md","server":{"slug":"ashon-supragnosis","name":"supragnosis","registryName":"io.github.Ashon/supragnosis","description":"Memory for AI agents that remembers who said it.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"ghcr-io-ashon-supragnosis","type":"oci","identifier":"ghcr.io/ashon/supragnosis","withdrawn":false,"url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis","version":"0.11.0","transport":"stdio","scoredAt":"2026-11-05T05:24:39.368Z"},"score":{"total":45,"tier":"low","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":45},{"date":"2026-11-04","total":45},{"date":"2026-11-03","total":44},{"date":"2026-11-02","total":44},{"date":"2026-11-01","total":43},{"date":"2026-10-31","total":43},{"date":"2026-10-30","total":42},{"date":"2026-10-29","total":42},{"date":"2026-10-28","total":41},{"date":"2026-10-27","total":42},{"date":"2026-10-26","total":42},{"date":"2026-10-25","total":41},{"date":"2026-10-24","total":41}]},"categories":[{"name":"Supply Chain Security","score":0,"verdict":"unverified","reasons":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.","Install-script risk not yet assessed.","Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.inconclusive","args":{"reason":"no_sbom_attached"}},{"code":"installscript.inconclusive","args":{"reason":"no_install_concept"}},{"code":"dephealth.inconclusive","args":{"reason":"no_sbom_attached"}}]},{"name":"Provenance & Transparency","score":48,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT OR Apache-2.0).","Actively maintained (last published 7 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT OR Apache-2.0"}},{"code":"maintenance.recent","args":{"age_days":"7"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":76,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 3294 tokens (~193/item across 17 items; 13 tools + 4 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"193","items":"17","tools":"13","tokens":"3294","resources":"4"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":28,"verdict":"fail","reasons":["Stability check failed: the tool surface changed between 0.10.3 and 0.11.0: 0 tool removals, 3 breaking changes, 0 additions."],"codes":[{"code":"stability.version_churn","args":{"to":"0.11.0","days":"12","from":"0.10.3","added":"0","breaks":"3","removed":"0"}}]},{"name":"Tool Coverage","score":98,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","93% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"93"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"13"}},{"code":"toolsafety.manipulation_clean","args":{"units":"15","judged":"15"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.","Install-script risk not yet assessed.","Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read."],"malware":[],"components":[{"slug":"ghcr-io-ashon-supragnosis","type":"oci","identifier":"ghcr.io/ashon/supragnosis","withdrawn":false,"score":45,"current":true,"url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis","markdownUrl":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis.md"}],"facts":[{"label":"Registry","value":"oci"},{"label":"Package","value":"ghcr.io/ashon/supragnosis"},{"label":"Version","value":"0.11.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"define_type","title":null,"description":"Define ontology types (T-Box) for a workspace: give an entity type or relation type a name and a natural-language definition of what it means. Use this to record the vocabulary of the ontology so a type is not just a bare label but has a stated meaning (e.g. entity type 'Driver' = 'a kernel module that ...'; relation type 'depends_on' = 'X requires Y at runtime'). A description is required. Scoped to the workspace. Read them back via the supragnosis://workspace/{ws}/types resource.","inputs":[{"name":"defs","type":"array","required":true,"description":"The type definitions to record (at least one)."},{"name":"on_behalf_of","type":"string|null","required":false,"description":"(Optional) Delegation subject this agent acts on behalf of."},{"name":"source_ref","type":"string|null","required":false,"description":"Source reference (file path/URL/tool, etc.)."},{"name":"workspace","type":"string","required":true,"description":"The workspace whose vocabulary this is, named as for observe. The T-Box is scoped to the workspace."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":205},{"name":"get_entity","title":null,"description":"Look up an entity and its relations/provenance by entity id.","inputs":[{"name":"id","type":"string","required":true,"description":"Entity id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":31},{"name":"get_proposal","title":null,"description":"Get one proposal's folded state (kind/targets/into/rationale/state/verdicts/workspace) by id, with its belief diff and checks, read in the workspace it lives in; a merged claim_promotion also carries granted_tier, the tier it granted. A tbox_change or a recall carries no_effect_yet: its kind has no commit effect yet, so it cannot be merged.","inputs":[{"name":"id","type":"string","required":true,"description":"The proposal id."},{"name":"workspace","type":"string|null","required":false,"description":"Scope to a workspace (when omitted or '*', the proposal is read in the workspace it lives in)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":129},{"name":"list_proposals","title":null,"description":"List proposals in a workspace (newest first) with their folded state (open/blocked/merged/rejected/withdrawn), kind, targets, verdict count and the workspace each lives in; a merged claim_promotion also carries granted_tier, the tier it granted. A verdict counts only in its proposal's workspace. A tbox_change or a recall carries no_effect_yet: its kind has no commit effect yet, so it cannot be merged.","inputs":[{"name":"workspace","type":"string|null","required":false,"description":"Scope to a workspace (all workspaces when omitted or '*')."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":121},{"name":"observe","title":null,"description":"Ingest a knowledge fragment - how anything new enters the graph. Stores it as an immutable observation (the source of truth: superseded later, never edited or deleted) and links the entities and relations you extracted alongside it into the ontology. Use it as facts, decisions and the reasons behind them come up; to reshape knowledge that is already stored - merging duplicates, changing trust, retracting - use `propose` instead. Returns the observation id, the linked entity/relation ids and the workspace written to; a write that makes a new workspace adds a note naming the ones that hold knowledge.","inputs":[{"name":"confidence","type":"number|null","required":false,"description":"Confidence 0.0-1.0. If omitted, it is preserved as unspecified (no default substitution) -\nomit it when you cannot assess it. Out-of-range values are rejected on ingest."},{"name":"content","type":"string","required":true,"description":"Knowledge fragment to ingest (natural language or structured text)."},{"name":"derived_from","type":"array","required":false,"description":"(Optional) Ids of the observations this knowledge was derived from: the records you read that shaped it. Lineage, for contamination tracking."},{"name":"entities","type":"array","required":false,"description":"(Optional) Entities extracted by the client."},{"name":"on_behalf_of","type":"string|null","required":false,"description":"(Optional) Delegation subject - the person/principal this agent acts on behalf of (e.g. \"ashon\")."},{"name":"relations","type":"array","required":false,"description":"(Optional) Relations extracted by the client."},{"name":"source_ref","type":"string|null","required":false,"description":"Source reference (file path/URL/tool, etc.)."},{"name":"workspace","type":"string","required":true,"description":"The workspace this fragment belongs to. Name it after the project you work in - the\nrepository's name, also from a git worktree, never the worktree's directory - and keep using\nthat name, so one proj…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":370},{"name":"propose","title":null,"description":"Open a proposal to change the canon - the one path by which anything enters shared knowledge. Use it to reshape what is already there rather than to add: entity_merge and entity_split for identity, claim_promotion and claim_demotion for trust, tbox_change for the type vocabulary, recall for retracting a contaminated derivation tree - those two have no commit effect yet, so neither can be merged until it has one. To state something new, use `observe` instead. A proposal is itself an observation and changes nothing until `review` accepts it; `get_proposal` shows where it stands, and `kind` describes what each one does and which arguments it needs. Returns the proposal id, the workspace, its state and found - true when an identical proposal was already there, since a proposal is its content - with a note saying what is left.","inputs":[{"name":"affected_types","type":"array","required":false,"description":"For tbox_change: the entity/relation types this proposal defines or changes, so the viewer can\nhighlight the affected nodes (entity types) / edges (relation types) when previewing it. Each\nitem is {t…"},{"name":"into","type":"string|null","required":false,"description":"For entity_merge: the canonical target id the other targets fold into (must be one of targets)."},{"name":"kind","type":"string","required":true,"description":"Proposal kind, one of:\n- `entity_merge` - fold duplicate entities into one canonical id.\n- `entity_split` - reverse a merge. The folded entities separate again and the pair stops\n  being suggested fo…"},{"name":"on_behalf_of","type":"string|null","required":false,"description":null},{"name":"rationale","type":"string|null","required":false,"description":"Why (natural language) - the proposal rationale. Required to re-merge a pair that was split:\na proposal is its content, so a verbatim re-open is the same proposal and stays reversed. Say\nwhat makes t…"},{"name":"source_ref","type":"string|null","required":false,"description":null},{"name":"targets","type":"array","required":true,"description":"Entity/observation ids the proposal acts on (get them from the Review/curation signals or a search hit).\nFor entity_merge an entity may also be named by its name in the workspace; it is stored as its…"},{"name":"tier","type":"string|null","required":false,"description":"For claim_promotion/claim_demotion: the requested trust tier - unverified | agent_extracted |\nhost_signed | human_confirmed. Required for those kinds; targets are then OBSERVATION ids.\nNote: a verdic…"},{"name":"workspace","type":"string","required":true,"description":"The workspace the proposal acts in, the one its targets live in."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":833},{"name":"review","title":null,"description":"Cast a verdict on a proposal. decision is merge (accept), reject, comment, or withdraw. In a single-user workspace the verdict is self-attested. The state is a deterministic fold of the events; a merge is the absorbing outcome. A claim_promotion merged through this agent surface grants at most host_signed - promotion to human_confirmed is the person's own act in the Supragnosis app: never cast it yourself, by this tool or any other way. A merge on a recall is refused here for the same reason, and a merge on a tbox_change or a recall is refused on every surface while the kind has no commit effect; comment, reject and withdraw are accepted. Returns the recorded observation id and the workspace it was filed in, the proposal's own.","inputs":[{"name":"decision","type":"string","required":true,"description":"Verdict/action: merge | reject | comment | withdraw."},{"name":"note","type":"string|null","required":false,"description":"Optional note/comment."},{"name":"on_behalf_of","type":"string|null","required":false,"description":null},{"name":"proposal","type":"string","required":true,"description":"The proposal id (from propose / list_proposals)."},{"name":"workspace","type":"string|null","required":false,"description":"The proposal's workspace, where the verdict is filed and counts. On this node it may be left\nout, or '*', and the proposal's own is used."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":262},{"name":"search_knowledge","title":null,"description":"Search knowledge (entities/observations). The response mode reports the surface actually used: hybrid (semantic+keyword) or keyword (keyword-only degrade - an empty result in this mode may be a recall failure). score is for rank comparison only - its scale differs per mode, so the absolute value is not a confidence.","inputs":[{"name":"limit","type":"integer|null","required":false,"description":"Maximum number of results (defaults to 20 when omitted)."},{"name":"query","type":"string","required":true,"description":"Search query."},{"name":"scope","type":"string|null","required":false,"description":"Search scope: \"local\" (this node only, default), \"remote\" (the configured sync servers'\nontologies - federated retrieval), or \"both\". Local state can lag the remote store - use\nremote/both when a loc…"},{"name":"workspace","type":"string|null","required":false,"description":"Scope to a workspace (all workspaces when omitted)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":209},{"name":"sync_pull","title":null,"description":"Pull the workspace's missing knowledge from the configured sync servers and apply it (verify signatures -> dedup/absorb -> re-materialize the projection). Returns per-server accepted/rejected counts.","inputs":[{"name":"workspace","type":"string|null","required":false,"description":"Workspace to pull (node default when omitted)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":62},{"name":"sync_push","title":null,"description":"Push the workspace's local knowledge to the configured sync servers (backfill-stamp unstamped attestations, then send what each server lacks per its advertised version vector). Only share-whitelisted workspaces leave this node.","inputs":[{"name":"workspace","type":"string|null","required":false,"description":"Workspace to push (node default when omitted; must be on the share whitelist)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":74},{"name":"sync_status","title":null,"description":"Federation sync status of this node: node id, public key, share whitelist, configured sync servers, the workspace's version vector (what this node holds per origin), `config_notes` (federation configuration this build worked around rather than obeyed - read these, they are the reason something is not syncing), and `negotiated` - what each host last said this node may reach, as a three-way difference against the share whitelist (`both` / `local_only` = listed here but not admitted there, a setup error / `peer_only` = admitted there but not shared here). A host with state `unknown` has not answered yet; that is not an empty grant set. Read-only.","inputs":[{"name":"workspace","type":"string|null","required":false,"description":"Workspace to report (node default when omitted)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":168},{"name":"traverse","title":null,"description":"Traverse the graph from an entity, following relation direction (from->to). Returns the entities reachable within the maximum hops (max_depth), along with their shortest distance. Reachability runs THROUGH a relation endpoint that no entity row describes yet (partial ingest), but such an endpoint is not listed - so a hit can sit deeper than any listed neighbor. That gap is unknown, not a missing edge.","inputs":[{"name":"id","type":"string","required":true,"description":"Start entity id."},{"name":"limit","type":"integer|null","required":false,"description":"Maximum number of results (defaults to 100 when omitted)."},{"name":"max_depth","type":"integer|null","required":false,"description":"Maximum number of hops (defaults to 3 when omitted)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":135},{"name":"workspace_map","title":null,"description":"Survey a workspace's main co-occurrence contexts (hyperedges - the set of entities asserted together in a single observation). For cold-start orientation: before searching, grasp by name 'what is here and in what clusters'. Clusters are sorted by size (number of co-occurring entities) and sources is the number of supporting observations. This is a directional signal, not an asserted relation - confirm actual relations/details with search_knowledge/get_entity. To solidify a recurring context into first-class structure, observe a group entity (e.g. type Context) with member_of relations from each member and derived_from listing the co-asserting observation ids - the assertion then carries provenance and trust like any other edge.","inputs":[{"name":"limit","type":"integer|null","required":false,"description":"Maximum number of clusters (defaults to 20 when omitted). Truncated in descending order of size."},{"name":"min_size","type":"integer|null","required":false,"description":"Minimum cluster size = number of co-occurring entities (defaults to 2 when omitted). Values of 3 or more exclude trivial pairs."},{"name":"workspace","type":"string|null","required":false,"description":"Scope to a workspace (all workspaces when omitted or '*')."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":233}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T05:24:39.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-24","recent":[{"id":"chg_01a1a4fd-6ef6-7944-a3ee-84dffd611c5b","kind":"score.total_changed","summary":"Trust score (44 → 45)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1a4fd-6ef6-7944-a3ee-84dffd611c5b"},{"id":"chg_01a19aaf-f486-71d9-8c88-f5c265056148","kind":"score.total_changed","summary":"Trust score (43 → 44)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a19aaf-f486-71d9-8c88-f5c265056148"},{"id":"chg_01a19063-ed58-7d12-8e4b-1214d20f1882","kind":"score.total_changed","summary":"Trust score (42 → 43)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a19063-ed58-7d12-8e4b-1214d20f1882"},{"id":"chg_01a1861c-b397-725b-91ca-89192053cd56","kind":"score.total_changed","summary":"Trust score (41 → 42)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1861c-b397-725b-91ca-89192053cd56"},{"id":"chg_01a1833f-d89e-7d2a-90b7-1715128d5acd","kind":"check.verdict","summary":"Stability (0.10 → fail)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833f-d89e-7d2a-90b7-1715128d5acd"},{"id":"chg_01a1833f-d8a0-7591-ac4e-4f5a1ffe53e8","kind":"score.total_changed","summary":"Trust score (10 → 41)","materiality":"functional","direction":"improvement","scoreDelta":31,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833f-d8a0-7591-ac4e-4f5a1ffe53e8"},{"id":"chg_01a1833d-f271-78af-a592-6acc3f14dcc7","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833d-f271-78af-a592-6acc3f14dcc7"},{"id":"chg_01a1833d-f273-7cc0-879f-d89223265976","kind":"check.unverifiable","summary":"Stability (0.10 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833d-f273-7cc0-879f-d89223265976"},{"id":"chg_01a1833d-f274-7759-b120-be61c25566d9","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833d-f274-7759-b120-be61c25566d9"},{"id":"chg_01a1833d-f275-7205-8ed3-987f0f6c05c0","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833d-f275-7205-8ed3-987f0f6c05c0"},{"id":"chg_01a1833d-f275-7df5-b18f-37413ffd9a68","kind":"check.unverifiable","summary":"Schema quality (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833d-f275-7df5-b18f-37413ffd9a68"},{"id":"chg_01a1833d-f276-7c74-8319-89ffaa8491a5","kind":"package.version_changed","summary":"Package version (0.10.3 → 0.11.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833d-f276-7c74-8319-89ffaa8491a5"},{"id":"chg_01a1833d-f277-7719-a03c-03503c957b1f","kind":"score.total_changed","summary":"Trust score (43 → 10)","materiality":"functional","direction":"regression","scoreDelta":-33,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1833d-f277-7719-a03c-03503c957b1f"},{"id":"chg_01a180e9-cd86-7ef2-81fd-b0df250918ac","kind":"score.total_changed","summary":"Trust score (42 → 43)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a180e9-cd86-7ef2-81fd-b0df250918ac"},{"id":"chg_01a1769c-43e8-73d5-8635-a38d9f5f4fe5","kind":"score.total_changed","summary":"Trust score (41 → 42)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a1769c-43e8-73d5-8635-a38d9f5f4fe5"},{"id":"chg_01a16c07-f779-707b-b7a6-4ca4a5681dec","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis#chg-chg_01a16c07-f779-707b-b7a6-4ca4a5681dec"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis/changelog.json"},"links":{"html":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis","markdown":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis.md","changelogJson":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis/changelog.json","changelogRss":"https://verifymcp.io/servers/ashon-supragnosis/ghcr-io-ashon-supragnosis.xml","external":[{"label":"GitHub Container Registry","href":"https://ghcr.io/ashon/supragnosis"},{"label":"Repository","href":"https://github.com/Ashon/supragnosis"},{"label":"Website","href":"https://supragnosis.dev/"}]}}