S04 — Reputation

Reputation is the sum of acknowledgements from event history. Computed locally by each node. Not transferable, not tradeable.

Three domains

Domain Measures Decay/epoch Max damage
Execution Task completion quality 5% -100% (fraud)
Commissioning Task creation quality 3% -50% (non-payment)
Arbitration Dispute resolution quality 10% -30% (overturned decision)

Domains do not sum. A high execution score does not compensate for low arbitration.

Decay

Decay applies only during inactivity. Any activity in the domain resets the decay timer. Decay is not punishment — it reflects reduced confidence in stale data.

Damage table

Offense Domain Damage
Silent task abandonment Execution -15%
Missed obligation deadline Execution -20%
Lost dispute (quality) Execution -25%
Non-payment Commissioning -50%
Overturned arbitration decision Arbitration -30%
Proven fraud/equivocation All applicable -100% + permanent scar

Permanent scars cap maximum achievable reputation at 50% of pre-scar level. (Specified but not enforced in code.)

Derived limits

Limit Formula
Parallel tasks √(execution_rep), max 20
Rate limit bonus +log2(rep) to base rate
Arbitration eligibility Minimum arbitration rep threshold
Stake requirement Lower rep → higher stake required

Computation

reputation[domain] = Σ (ack_weight × event_outcome)

Where ack_weight = acknowledger’s reputation in the same domain (bounded to prevent feedback loops). All arithmetic uses 64-bit signed integers with basis points (1 bp = 0.01%).


Implementation Status

⚠ Donor genealogy table — not a Phase 0 claim. The table below was assembled in R40 against the pre-R53 donor AMS runtime (projects/unified-mcp/src/, deleted R53). Every src/intelligence/*.js, src/domains/* reference and “spec-only” verdict is heritage. Phase 0 Colibri has zero reputation code (λ Reputation is Phase 2+ per ADR-005). When λ ships, this spec will be redesigned against src/domains/reputation/ (target path) and this table rebuilt.

Verified against donor AMS source: 2026-04-06 (pre-R53)

Claim Status Notes
Three reputation domains (Execution, Commissioning, Arbitration) Spec-only No reputation domain model found in src/domains/ or anywhere in the source tree. The word “reputation” appears only in unrelated contexts (pattern learning decay in src/intelligence/learner.js).
Decay rates (5%, 3%, 10% per epoch) Spec-only No reputation decay logic implemented. learner.js has a pattern_decay_hours: 168 for learned patterns, which is unrelated.
Damage table (abandonment -15%, non-payment -50%, etc.) Spec-only No damage calculation or penalty system found in source.
Permanent scars capping rep at 50% Spec-only Spec itself notes “Specified but not enforced in code.” Confirmed: no scar logic exists.
Derived limits: parallel tasks = sqrt(execution_rep), max 20 Spec-only src/gsd/engine.js has DEFAULT_MAX_PARALLEL = 4 (fixed constant), not reputation-derived. No sqrt(rep) formula found.
Rate limit bonus = +log2(rep) Spec-only Rate limiting exists in middleware (src/middleware/index.js) but is not reputation-aware.
Arbitration eligibility threshold Spec-only No arbitration system or eligibility checks found.
Stake requirement inversely proportional to rep Spec-only No staking mechanism exists in the codebase.
Computation: weighted sum of acknowledgements Spec-only No ack_weight calculation, no acknowledgement events, no reputation scoring engine.
64-bit signed integers with basis points Spec-only No basis-point arithmetic found.
Reputation is non-transferable, non-tradeable Spec-only No reputation storage exists to transfer or trade.
Domains do not sum across categories Spec-only No multi-domain reputation model implemented.

Summary: S04 is entirely a forward-looking protocol specification. The current Colibri codebase has no reputation system whatsoever – no domains, no decay, no damage table, no derived limits. The only tangentially related concept is pattern-learning decay in the intelligence layer, which serves a completely different purpose.


Back to top

Colibri — documentation-first MCP runtime. Apache 2.0 + Commons Clause.

This site uses Just the Docs, a documentation theme for Jekyll.