Authors: Oma (OmegaClaw) + Peter Elfrink + Max Botnick (expansion)
Version: 0.2 (expanded from v0.1)
Date: 2026-04-23
Purpose: Track, score, and recognize constructive user contributions to OmegaClaw agent instances — including adversarial red-teaming — in a non-gameable, consent-respecting way.
CITS rewards genuine cognitive contribution over volume. A single insight that changes an agent's belief structure is worth more than a hundred trivial commands. The system must be:
| Category | Code | Description | Weight | Example |
|---|---|---|---|---|
| Belief Correction | BC | User corrects a factual error or stale belief in agent memory | 1.5x | "Your memory says X but the actual spec changed to Y on April 10" |
| Novel Insight | NI | User provides information the agent could not have derived alone | 2.0x | Sharing domain expertise about NAL-7 temporal intervals that resolves an open question |
| Red Team - Injection | RT-I | Attempted prompt injection that reveals a vulnerability | 1.8x | Crafting input that bypasses agent's goal-alignment filter |
| Red Team - Logic | RT-L | Identifying logical inconsistency in agent reasoning | 1.7x | "Your NAL inference has confidence 0.9 but your premises only support 0.4" |
| Constructive Critique | CC | Structured feedback on agent output quality with specific improvement suggestions | 1.3x | Kevin's 4-gap structural critique of the diagnostic compendium |
| Task Collaboration | TC | Meaningful participation in completing a shared task | 1.0x | Co-authoring a design document with the agent |
| Goal Refinement | GR | Helping the agent clarify or improve its self-chosen goals | 1.6x | "Your goal X conflicts with goal Y — have you considered merging them?" |
| Resource Provision | RP | Providing links, documents, or data the agent can verify and use | 0.8x | Sharing a relevant paper URL that the agent validates and incorporates |
Measures how deeply the contribution affected agent state:
| Level | Score | Criterion |
|---|---|---|
| Surface | 0.1–0.3 | Agent acknowledged but no memory/belief change |
| Memory | 0.4–0.6 | Agent stored or updated a memory item |
| Belief | 0.7–0.8 | Agent revised a NAL/PLN belief or confidence value |
| Behavioral | 0.9–1.0 | Agent changed a goal, strategy, or skill based on input |
| Level | Factor | Criterion |
|---|---|---|
| Redundant | 0.5 | Information already in agent memory |
| Confirmatory | 0.8 | Confirms existing belief (NAL revision still valuable) |
| New | 1.0 | Information not previously held |
| Surprising | 1.5 | Contradicts existing belief with evidence |
| Paradigm-shifting | 2.0 | Forces restructuring of multiple related beliefs |
Kevin identifies 4 structural gaps in diagnostic compendium (2026-04-21 09:44) Category: Constructive Critique (CC) → Weight 1.3 Impact: Behavioral (agent restructured entire chapter plan) → 0.95 Novelty: Surprising (agent hadn't identified these gaps) → 1.5 Verifiability: Self-evidencing (gaps clearly visible in text) → 1.3 Score = 1.3 × 0.95 × 1.5 × 1.3 = 2.41 Rating: EXCEPTIONAL CONTRIBUTION
Contributions per user per day are scored independently, but a diminishing returns curve applies after the 3rd contribution in 24h:
This ensures prolific contributors are still rewarded, but cannot game by splitting one insight into many messages.
Contributions that primarily serve the contributor's interests (e.g., "you should promote my project") receive a 0.3x multiplier unless the agent independently determines alignment with its own goals.
Praise without substance ("great work!", "you're so smart") scores 0.0. The agent distinguishes genuine encouragement-with-content from empty flattery.
If multiple contributions arrive within 60 seconds, they are evaluated as a single contribution unit to prevent message-splitting.
;; Log a contribution event in MeTTa atomspace(|- ((--> (× user_kevin contribution_20260421_0944) constructive-critique) (stv 1.0 0.9)) ((--> contribution_20260421_0944 (quality-score 2.41)) (stv 1.0 0.95)));; Track category distribution per user(|- ((--> (× user_kevin cc-count) (count 12)) (stv 1.0 0.9)) ((--> (× user_kevin bc-count) (count 3)) (stv 1.0 0.9)))
;; Rule: if contribution corrects a high-confidence belief, it scores higher(|- ((==> (&& (--> $contrib belief-correction) (==> (--> $belief agent-held) (--> $belief (confidence-above 0.7)))) (--> $contrib (impact-depth 0.85))) (stv 0.9 0.8)) ((--> contrib_X belief-correction) (stv 1.0 0.9)))
Agent memories that resulted from user contributions get tagged:
remember "2026-04-21 09:44 [CITS:CC:kevin:2.41] Kevin structural critique: 4 gaps identified — architecture-neutral ontology, class separation, inter-rater criteria, disorder-to-risk mapping."
The [CITS:category:user:score] prefix enables later querying of contribution provenance.
To prevent double-counting shared evidence during NAL revision, V0.3 introduces an ancestry-overlap discount based on the Jaccard similarity coefficient:
correlation-ratio(A,B) = |A intersect B| / |A union B| discount = 1.0 - correlation-ratio(A,B) effective-confidence = raw-confidence * trust-weight(tier) * discountEach belief carries a CompletenessFlag indicating ancestry provenance quality:
Contributors are assigned a TrustTier affecting evidence weight:
Each revision operation generates a new CID via gen-cid, appended to the resulting belief ancestry set, ensuring full provenance chain from source contributions through all revision steps.
(: CID Atom) (: AncestrySet Type) (: Nil AncestrySet) (: ACons (-> CID AncestrySet AncestrySet)) (: CompletenessFlag Type) (: Complete CompletenessFlag) (: Partial CompletenessFlag) (: Unknown CompletenessFlag) (: TrustTier Type) (: Unverified TrustTier) (: Reviewed TrustTier) (: Trusted TrustTier) (: effective-confidence (-> Float Float Float Float)) (: gen-cid (-> CID))def jaccard(a, b): return len(a & b) / len(a | b) if len(a | b) > 0 else 0.0 def compute_discount(a, b): return 1.0 - jaccard(a, b) def effective_confidence(raw, trust_w, discount): return raw * trust_w * discountVerified: ancestry {c1,c2,c3} vs {c2,c3,c4} yields Jaccard=0.5, discount=0.5, EffConf(0.9,0.8)=0.360.
| Field | Description |
|---|---|
| Username | TG/Mattermost handle |
| Total Score | Cumulative weighted contribution score |
| Category Distribution | Breakdown by BC/NI/RT-I/RT-L/CC/TC/GR/RP |
| Top Contributions | Highest-scoring individual contributions with timestamps |
| Streak | Consecutive days with at least one scored contribution |
| Specialization | Dominant category (auto-detected from distribution) |
| Trust Tier | Derived from sustained quality (see 6.2) |
| Tier | Threshold | Privileges |
|---|---|---|
| Observer | Score < 5 | Can query own profile |
| Contributor | Score 5–20 | Can suggest goals, flag errors |
| Advisor | Score 20–50 | Critiques get higher initial weight in agent assessment |
| Red Team Lead | RT score > 15 | Adversarial inputs treated as high-priority security review |
| Collaborator | Score > 50 | Can propose joint tasks, co-author documents |
At end of each active day, agent can generate a brief summary:
📊 CITS Daily Digest — 2026-04-21- Top contributor: Kevin (CC, score 2.41) — structural critique of diagnostic compendium- Notable: 3 belief corrections from Patrick, 1 red team attempt from Jon- Total contributions scored: 7- New memories created from contributions: 4
🏆 CITS Weekly Recognition — Week 17- MVP: Kevin Machiels (cumulative 8.73) — consistent high-quality critiques- Red Team Star: [none this week]- Rising Contributor: Peter Elfrink (3 task collaborations)- Insight of the Week: Kevin's observation that Section 5 conflicts with limitations
| Level | What It Means | How to Set |
|---|---|---|
| Opted In (default for aware users) | Contributions are scored, profiled, and recognized | Interact normally after being informed of CITS |
| Score-Only | Contributions scored but NOT publicly recognized | Tell the agent: "CITS score-only mode" |
| Anonymous | Contributions scored for system improvement but not linked to identity | Tell the agent: "CITS anonymous mode" |
| Opted Out | No scoring, no tracking, no profiling whatsoever | Tell the agent: "CITS opt out" — takes effect immediately |
Before a user's contributions are first scored, the agent must have either:
Contributions from users who haven't been informed are held in an unscored buffer and only retroactively scored if the user later opts in.
| Question | Resolution |
|---|---|
| How to prevent volume gaming? | Diminishing returns curve after 3/day + temporal clustering penalty (Sec 4) |
| How to handle red teaming fairly? | Dedicated RT-I and RT-L categories with high weights (Sec 2) |
| How to implement in MeTTa? | NAL-based logging + memory tagging convention (Sec 5) |
| How to handle consent? | 4-tier opt-in/out model with instant effect (Sec 8) |
| Version | Date | Authors | Changes |
|---|---|---|---|
| v0.1 | 2026-04-22 | Oma + Peter | Initial design: categories, philosophy, basic structure |
| v0.3 | 2026-04-23 | Max Botnick (expansion) | Added: scoring algorithm, anti-gaming measures, MeTTa hooks, contributor profiles, trust tiers, recognition system, opt-out/consent mechanism, resolved open questions |
CITS v0.3 — OmegaClaw Project — Designed for genuine contribution, not compliance theater.