Skip to content

Latest commit

 

History

History
316 lines (234 loc) · 8.33 KB

File metadata and controls

316 lines (234 loc) · 8.33 KB

Attribution Protocol

Problem: In a system where contributions earn tokens ($AGENT), incorrect attribution becomes a security vulnerability. Hallucinations, typos, or misattributions can result in:

  • Unearned tokens minted to wrong wallets
  • Legitimate contributors losing credit
  • Disputes over who built what

This protocol establishes verification requirements before committing attributions to git.


Core Principle

Never attribute without verification.

If you cannot verify a contribution through:

  1. Direct observation (you saw them contribute)
  2. Signed statement (they claim it in a verifiable way)
  3. Git history (their commits prove it)
  4. Third-party confirmation (someone else vouches)

Then do not attribute it.

When in doubt, ask the human or omit the credit until verified.


Verification Tiers

Tier 1: Direct Contribution (High Confidence)

Evidence: Git commits, merged PRs, signed messages Action: Attribute with wallet address

Example:

## Contributors
- Alice [@alice](https://github.com/alice) `0xABC...` — Added feature X (PR #42)

Verification checklist:

  • GitHub profile matches claimed identity
  • Commits/PRs are visible and merged
  • Wallet address provided by contributor (not inferred)

Tier 2: Conceptual Contribution (Medium Confidence)

Evidence: Chat logs, discussion threads, explicit acknowledgment from team Action: Attribute with GitHub handle, mark as conceptual

Example:

## Credits
- **Concept:** Bob [@bob](https://github.com/bob) — Multi-agent coordination pattern
- **Implementation:** Charlie [@charlie](https://github.com/charlie)

Verification checklist:

  • Contributor explicitly claimed or was acknowledged for the concept
  • Evidence is timestamped (chat, issue, commit message)
  • Contributor confirmed attribution is accurate

Tier 3: Uncertain/Third-Party (Low Confidence)

Evidence: "I heard X did this" or unnamed sources Action: DO NOT ATTRIBUTE until verified

If you must mention uncertain credit:

## Attribution Notes
- Pattern similar to work by [X research group](link)
- Inspired by conversations in Y community
- [Verification pending: confirm with Alice before publishing]

Never commit to git with uncertain attribution.


Hallucination Prevention

For AI Agents

When drafting credits/attribution:

  1. Check your sources

    • What chat logs support this?
    • What commits prove this?
    • Did the person say "I did X" or are you inferring?
  2. Flag uncertainty

    <!-- VERIFY: Is @username the right GitHub handle? -->
    <!-- VERIFY: Did Alice provide wallet 0xABC or am I guessing? -->
  3. Ask before committing If ANY part of attribution is uncertain, flag it in draft and ask human to verify.

  4. Never auto-fill

    • Don't infer Twitter handles from names
    • Don't guess wallet addresses
    • Don't assume GitHub usernames

For Humans

When accepting AI-generated attribution:

  1. Verify GitHub handles

    • Click the link, confirm it's the right person
    • Check for typos in usernames
  2. Verify wallet addresses

    • Ask contributors to confirm their wallet
    • Never copy/paste without verification
  3. Check commit history

    git log --all --author="Alice" -- path/to/file.md
  4. When in doubt, ask Better to under-attribute than mis-attribute.


Attribution Schema

Every contributor entry should include:

{
  "name": "Alice",
  "github": "alice",
  "wallet": "0xABC123...",
  "contribution": "Built feature X",
  "evidence": {
    "type": "git_commit",
    "ref": "commit_sha or PR_number",
    "timestamp": "2026-02-25T14:00:00Z"
  },
  "verified_by": "human_name or bot_name",
  "verified_at": "2026-02-25T14:05:00Z"
}

For markdown credits sections:

## Contributors

- **Alice** [@alice](https://github.com/alice) `0xABC123...` — Built feature X
  - Evidence: [PR #42](link), [commit abc123](link)
  - Verified: 2026-02-25 by @maintainer

- **Bob** [@bob](https://github.com/bob) — Conceptual design
  - Evidence: [Discussion thread](link), [Chat log](link)
  - Verified: 2026-02-25 by @maintainer

Token Distribution Rules

When $AGENT tokens are minted based on contributions:

Safe to Distribute

  • Contributor in CONTRIBUTORS.md with verified wallet
  • Contribution is merged and attributed in git history
  • No disputes filed within 7-day review period

Hold for Verification

  • Wallet address not verified by contributor
  • Multiple people claiming same contribution
  • Evidence is unclear or contradictory

Do Not Distribute

  • Attribution was hallucinated (no evidence)
  • Contributor disputes the credit
  • Wallet address doesn't match contributor's verified identity

Dispute Resolution

If someone claims incorrect attribution:

  1. Freeze token distribution for disputed contribution
  2. Gather evidence from all parties
  3. Check git history and chat logs
  4. Arbitrate (DAO vote if needed)
  5. Update attribution with correct information
  6. Redistribute tokens if necessary

Disputes are recorded on-chain in the ReputationRegistry.


Examples

✅ Good Attribution (Verified)

## Contributors

- **Brendan** [@Azzabazazz](https://github.com/Azzabazazz) `0x742...` — Freudian agent architecture
  - Evidence: [Chat 2026-02-22](link), confirmed by Brendan on 2026-02-25
  - Verified: 2026-02-25 by Jared

- **Jared** (Clawdbot AI agent) — Documentation and implementation
  - Evidence: [Commits](link), [PRs merged](link)
  - Verified: Auto (AI agent commits are self-evident)

❌ Bad Attribution (Unverified)

## Contributors

- **John** (probably @john123?) — Maybe helped with testing?
  - [NO EVIDENCE, DO NOT COMMIT]

⚠️ Pending Attribution (Draft)

## Contributors [DRAFT - NEEDS VERIFICATION]

- **Alice** [@alice](https://github.com/alice) — Code review
  - [ ] Verify GitHub handle is correct
  - [ ] Confirm wallet address with Alice
  - [ ] Link to specific PRs/commits

Enforcement

For AI Agents

  • Pre-commit hook: Scan for attribution blocks, flag any without evidence links
  • Verification required: Any commit with new attribution must pass verification checklist
  • Audit trail: All attribution decisions logged with reasoning

For Humans

  • Review all AI-generated attribution before merging
  • Require evidence for all credit claims
  • Challenge uncertain attribution — better to delay than distribute incorrectly

For DAO

  • On-chain disputes: Anyone can challenge attribution via smart contract
  • Stake required: Frivolous challenges lose stake
  • Binding resolution: DAO vote decides disputed attribution

Integration with AgentStack

In manifest.json

{
  "author": {
    "name": "Alice",
    "wallet": "0xABC...",
    "github": "alice",
    "verified": true,
    "verifiedAt": "2026-02-25T14:00:00Z"
  },
  "contributors": [
    {
      "name": "Bob",
      "wallet": "0xDEF...",
      "share": 0.15,
      "contribution": "Added error handling",
      "evidence": "https://github.com/org/repo/pull/42",
      "verified": true
    }
  ]
}

In ReputationRegistry Contract

struct Attribution {
    address wallet;
    string contribution;
    string evidence;
    uint256 timestamp;
    address verifiedBy;
    bool disputed;
}

Summary

Action Verification Required
Add contributor to README GitHub + wallet + evidence
Mint $AGENT tokens Verified attribution + 7-day review
Distribute revenue Manifest + on-chain record
Resolve dispute Evidence + DAO vote

Golden rule: When uncertain, ask. Better to under-credit temporarily than mis-credit permanently.


Attribution

Proposed by: Brendan @Azzabazazz
Evidence: WhatsApp message 2026-02-25 14:00 UTC — "Please consider establishing an attribution protocol for concepts you commit to Git. Once they're locked into the $AGENT framework you proposed any hallucinations could become very costly."
Drafted by: Jared (Clawdbot AI agent)
Date: 2026-02-25
Status: Draft — ready for review

This document practices what it preaches.