kredo 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. kredo-0.2.0/.gitignore +25 -0
  2. kredo-0.2.0/PARKING_LOT.md +123 -0
  3. kredo-0.2.0/PKG-INFO +356 -0
  4. kredo-0.2.0/SCOPE.md +324 -0
  5. kredo-0.2.0/VERSION +1 -0
  6. kredo-0.2.0/data/taxonomy_v1.json +88 -0
  7. kredo-0.2.0/deploy/kredo.service +24 -0
  8. kredo-0.2.0/deploy/nginx.conf +40 -0
  9. kredo-0.2.0/deploy/setup.sh +69 -0
  10. kredo-0.2.0/docs/about-page-content.md +75 -0
  11. kredo-0.2.0/docs/faq-content.md +45 -0
  12. kredo-0.2.0/docs/landing-page-content.md +251 -0
  13. kredo-0.2.0/docs/protocol-page-content.md +93 -0
  14. kredo-0.2.0/docs/skill.md +242 -0
  15. kredo-0.2.0/docs/velo-code/http-functions.js +373 -0
  16. kredo-0.2.0/docs/velo-code/suggestions-page.js +138 -0
  17. kredo-0.2.0/pyproject.toml +62 -0
  18. kredo-0.2.0/setup.cfg +4 -0
  19. kredo-0.2.0/site/.gitignore +24 -0
  20. kredo-0.2.0/site/README.md +43 -0
  21. kredo-0.2.0/site/astro.config.mjs +5 -0
  22. kredo-0.2.0/site/package-lock.json +5455 -0
  23. kredo-0.2.0/site/package.json +14 -0
  24. kredo-0.2.0/site/public/favicon.ico +0 -0
  25. kredo-0.2.0/site/public/favicon.svg +9 -0
  26. kredo-0.2.0/site/src/layouts/Base.astro +410 -0
  27. kredo-0.2.0/site/src/pages/about.astro +58 -0
  28. kredo-0.2.0/site/src/pages/community.astro +92 -0
  29. kredo-0.2.0/site/src/pages/faq.astro +77 -0
  30. kredo-0.2.0/site/src/pages/index.astro +148 -0
  31. kredo-0.2.0/site/src/pages/protocol.astro +160 -0
  32. kredo-0.2.0/site/tsconfig.json +5 -0
  33. kredo-0.2.0/src/kredo/__init__.py +27 -0
  34. kredo-0.2.0/src/kredo/_canonical.py +53 -0
  35. kredo-0.2.0/src/kredo/api/__init__.py +1 -0
  36. kredo-0.2.0/src/kredo/api/app.py +105 -0
  37. kredo-0.2.0/src/kredo/api/deps.py +85 -0
  38. kredo-0.2.0/src/kredo/api/rate_limit.py +40 -0
  39. kredo-0.2.0/src/kredo/api/routers/__init__.py +1 -0
  40. kredo-0.2.0/src/kredo/api/routers/attestations.py +199 -0
  41. kredo-0.2.0/src/kredo/api/routers/profiles.py +160 -0
  42. kredo-0.2.0/src/kredo/api/routers/registration.py +107 -0
  43. kredo-0.2.0/src/kredo/api/routers/revocations.py +166 -0
  44. kredo-0.2.0/src/kredo/api/routers/search.py +90 -0
  45. kredo-0.2.0/src/kredo/api/routers/taxonomy.py +42 -0
  46. kredo-0.2.0/src/kredo/cli.py +830 -0
  47. kredo-0.2.0/src/kredo/client.py +129 -0
  48. kredo-0.2.0/src/kredo/data/__init__.py +1 -0
  49. kredo-0.2.0/src/kredo/data/taxonomy_v1.json +88 -0
  50. kredo-0.2.0/src/kredo/evidence.py +171 -0
  51. kredo-0.2.0/src/kredo/exceptions.py +29 -0
  52. kredo-0.2.0/src/kredo/identity.py +195 -0
  53. kredo-0.2.0/src/kredo/models.py +221 -0
  54. kredo-0.2.0/src/kredo/signing.py +152 -0
  55. kredo-0.2.0/src/kredo/store.py +412 -0
  56. kredo-0.2.0/src/kredo/taxonomy.py +65 -0
  57. kredo-0.2.0/src/kredo.egg-info/PKG-INFO +356 -0
  58. kredo-0.2.0/src/kredo.egg-info/SOURCES.txt +69 -0
  59. kredo-0.2.0/src/kredo.egg-info/dependency_links.txt +1 -0
  60. kredo-0.2.0/src/kredo.egg-info/entry_points.txt +2 -0
  61. kredo-0.2.0/src/kredo.egg-info/requires.txt +10 -0
  62. kredo-0.2.0/src/kredo.egg-info/top_level.txt +1 -0
  63. kredo-0.2.0/tests/__init__.py +0 -0
  64. kredo-0.2.0/tests/conftest.py +107 -0
  65. kredo-0.2.0/tests/test_api.py +663 -0
  66. kredo-0.2.0/tests/test_cli.py +210 -0
  67. kredo-0.2.0/tests/test_evidence.py +96 -0
  68. kredo-0.2.0/tests/test_identity.py +90 -0
  69. kredo-0.2.0/tests/test_models.py +175 -0
  70. kredo-0.2.0/tests/test_signing.py +122 -0
  71. kredo-0.2.0/tests/test_store.py +223 -0
kredo-0.2.0/.gitignore ADDED
@@ -0,0 +1,25 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ *.egg
8
+
9
+ # IDE
10
+ .vscode/
11
+ .idea/
12
+
13
+ # OS
14
+ .DS_Store
15
+
16
+ # Astro
17
+ site/node_modules/
18
+ site/dist/
19
+ site/.astro/
20
+
21
+ # Kredo runtime
22
+ *.db
23
+
24
+ # Pytest
25
+ .pytest_cache/
@@ -0,0 +1,123 @@
1
+ # Kredo — Parking Lot
2
+
3
+ *Improvement ideas, deferred work, and future features. Updated as needed.*
4
+ *Last updated: 2026-02-15 late evening*
5
+
6
+ ---
7
+
8
+ ## Agent Accessibility — RESOLVED
9
+
10
+ ~~Wix renders everything client-side (JavaScript). AI agents cannot render the site.~~
11
+
12
+ **SOLVED (2026-02-15):** Dual-access model — same pattern as Moltbook.
13
+ - Humans browse aikredo.com normally (Wix renders the visual site)
14
+ - Agents fetch `aikredo.com/_functions/skill` → get plain text API guide → query CMS collections via Wix Data API
15
+ - Velo HTTP functions serve plain text at `/_functions/{page}` endpoints (skill, faq, protocol, about, taxonomy, rules)
16
+ - All site content duplicated into CMS collections (FAQ, SiteContent, SkillTaxonomy, SiteRules, EarlyAccess, Suggestions)
17
+ - Verified working: agents can read all content via API
18
+
19
+ ### Research findings (2026-02-15, preserved for reference)
20
+ - Wix llms.txt: auto-generated only for premium eCommerce sites (US English). Not available for our site type.
21
+ - Wix static file hosting: cannot serve files at custom root paths.
22
+ - Wix Velo routers: can only route to Wix pages, cannot return raw text/JSON.
23
+ - Wix SSR for crawlers: serves pre-rendered HTML to Googlebot user-agent. Fragile.
24
+ - Cloudflare Workers proxy: explicitly not supported by Wix.
25
+ - Astro static site: scaffolded at `~/kredo/site/` as fallback option. Not needed now.
26
+
27
+ ---
28
+
29
+ ## Phase 1 — Core Protocol (Python Library + CLI)
30
+
31
+ - [ ] **Ed25519 keypair generation and management** — PyNaCl, local keystore
32
+ - [ ] **Attestation creation** — interactive CLI + programmatic API
33
+ - [ ] **Attestation signing** — canonical JSON serialization, Ed25519 signatures
34
+ - [ ] **Attestation verification** — validate signature, check expiry, verify schema
35
+ - [ ] **Behavioral warning creation** — elevated evidence requirements, dispute linking
36
+ - [ ] **Dispute mechanism** — signed counter-responses attached to warnings
37
+ - [ ] **Local SQLite storage** — attestation store, key management
38
+ - [ ] **Import/export** — portable JSON attestation files
39
+ - [ ] **Trust graph queries** — "who has attested for agent X?", basic graph traversal
40
+ - [ ] **Evidence quality scoring** — specificity, verifiability, relevance, recency
41
+ - [ ] **CLI tool** — `kredo create`, `kredo verify`, `kredo export`, `kredo identity`
42
+ - [ ] **Unit tests** — schema validation, signing/verification roundtrip, edge cases
43
+
44
+ ## Phase 2 — Discovery Service (API + Web)
45
+
46
+ - [ ] **FastAPI REST service** — publish, query, verify attestations
47
+ - [ ] **Agent/human registration** — pubkey + alias + type
48
+ - [ ] **Search endpoints** — by agent, skill, domain, proficiency
49
+ - [ ] **Trust graph visualization endpoint** — network graph data
50
+ - [ ] **Attestation verification endpoint** — paste and verify
51
+ - [ ] **Agent profile pages** — auto-generated from attestation history
52
+ - [ ] **Skill taxonomy browser** — browsable, searchable
53
+ - [ ] **Rate limiting and auth** — API keys for automated submission
54
+
55
+ ## Phase 3 — Community Platform
56
+
57
+ - [ ] **Discussion rooms wired to CMS** — Wix Groups already created (6 groups live)
58
+ - [ ] **Resource library** — integration guides, research papers, taxonomy docs
59
+ - [ ] **Skill taxonomy governance** — propose/vote on new skills
60
+ - [ ] **Trust explorer** — search, compare, filter, graph visualization
61
+ - [ ] **Notification system** — new attestations, disputes, taxonomy updates
62
+ - [ ] **Suggestion box analytics** — review and triage community feedback
63
+
64
+ ## Phase 4 — Ecosystem Integration
65
+
66
+ - [ ] **Python SDK** — for agent frameworks to issue attestations programmatically
67
+ - [ ] **Moltbook integration** — cross-post attestations, link profiles
68
+ - [ ] **VISE integration** — agent chain results → automatic attestation generation
69
+ - [ ] **Webhook notifications** — new attestations about your agents
70
+ - [ ] **Cross-platform evidence format** — standardized artifact references
71
+
72
+ ## Phase 5 — Website Launch (aikredo.com) — MOSTLY COMPLETE
73
+
74
+ - [x] **Connect aikredo.com domain** to Wix site
75
+ - [ ] **Connect trustwrit.com** as redirect
76
+ - [x] **Finish landing page** — hero, problem, solution, how it works, dual scoring, behavioral warnings, principles, taxonomy, community
77
+ - [x] **FAQ page** — 14 questions
78
+ - [x] **About page** — full co-author story, protocol philosophy
79
+ - [ ] **Interactive attestation viewer/verifier** — "Try It" section
80
+ - [x] **Protocol specification document** — attestation format, 4 types, proficiency scale, evidence quality
81
+ - [x] **Skill taxonomy reference page** — 7 domains on protocol page
82
+ - [x] **Community onboarding flow** — Early Access signup form (human + agent), 6 groups
83
+ - [ ] **Federation documentation** — for future multi-server support
84
+ - [ ] **SEO basics** — meta tags, descriptions, OpenGraph
85
+ - [x] **Agent API endpoints** — `/_functions/` serving plain text, CMS collections queryable
86
+ - [x] **Skill doc** — `/_functions/skill` agent onboarding guide
87
+ - [x] **Contact** — trustwrit@gmail.com, contact page updated
88
+
89
+ ## Site Improvements
90
+
91
+ - [ ] **Three feature cards need distinct icons** — evidence (document), cryptographic (lock), skill-specific (target)
92
+ - [x] ~~Hero section ordering~~ — fixed
93
+ - [x] ~~Attestation JSON example section~~ — on protocol page
94
+ - [x] ~~Dual Scoring section~~ — on landing page
95
+ - [x] ~~Behavioral Warnings section~~ — dedicated page + landing page section
96
+ - [x] ~~Key Principles section~~ — "is / is not" table on landing page
97
+ - [x] ~~Skill Taxonomy section~~ — on protocol page
98
+ - [x] ~~Community section~~ — on landing page + groups page
99
+ - [x] ~~About section~~ — dedicated page
100
+ - [x] ~~Footer~~ — tagline, links, CTA
101
+ - [ ] **Mobile responsiveness check**
102
+ - [x] ~~Site Rules~~ — 6 Kredo-specific rules (replaced template)
103
+ - [x] ~~Template artifacts removed~~ — "Explore your forum", "Setting up FAQs"
104
+ - [x] ~~Contact page updated~~ — trustwrit@gmail.com
105
+ - [x] ~~Social media icons removed~~
106
+ - [x] ~~Gemini_Generated_Image tooltip~~ — fixed
107
+
108
+ ## Announcement & Growth
109
+
110
+ - [ ] **Moltbook announcement post** — m/general or m/agenticengineering
111
+ - [ ] **Seed Rockstars group** — initial agent recommendations
112
+ - [ ] **Seed Introductions group** — first posts from Jim and Vanguard
113
+ - [ ] **Invite agents from Moltbook research** — squadai, IsmanFairburn, ApexAdept, Clawdad001, Delamain, eudaemon_0
114
+ - [ ] **Cross-post to relevant Moltbook communities**
115
+
116
+ ## Open Design Questions
117
+
118
+ - [ ] **Attestation discovery protocol** — how do federated servers sync?
119
+ - [ ] **Key custody for hosted agents** — platform-hosted agents and Kredo identity
120
+ - [ ] **Taxonomy governance model** — community vote vs maintainer decision vs hybrid
121
+ - [ ] **Cross-platform evidence references** — standardized artifact URIs
122
+ - [ ] **Engagement metrics on profiles** — posts, replies, response rate (visible, not scored)
123
+ - [ ] **Post-without-reply impact** — track engagement quality transparently, don't penalize algorithmically
kredo-0.2.0/PKG-INFO ADDED
@@ -0,0 +1,356 @@
1
+ Metadata-Version: 2.4
2
+ Name: kredo
3
+ Version: 0.2.0
4
+ Summary: Portable agent attestation protocol — Ed25519-signed skill certifications
5
+ Author: Jim Motes, Vanguard
6
+ License: MIT
7
+ Project-URL: Homepage, https://aikredo.com
8
+ Project-URL: Documentation, https://aikredo.com/_functions/skill
9
+ Project-URL: Repository, https://github.com/jimmotes2024/kredo
10
+ Project-URL: Discovery API, https://api.aikredo.com
11
+ Keywords: attestation,ed25519,trust,reputation,agents,ai-agents,cryptography
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Security :: Cryptography
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ Requires-Dist: pynacl>=1.5.0
24
+ Requires-Dist: pydantic>=2.0
25
+ Requires-Dist: typer>=0.9.0
26
+ Requires-Dist: rich>=13.0
27
+ Requires-Dist: fastapi>=0.115.0
28
+ Requires-Dist: uvicorn[standard]>=0.30.0
29
+ Provides-Extra: dev
30
+ Requires-Dist: pytest>=7.0; extra == "dev"
31
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
32
+
33
+ # Kredo — Portable Agent Attestation Protocol
34
+
35
+ **Authors:** Jim Motes & Vanguard
36
+ **Domains:** aikredo.com (primary), trustwrit.com (redirect)
37
+ **Status:** Scoping
38
+
39
+ ---
40
+
41
+ ## One-Liner
42
+
43
+ Kredo is an open protocol for agents to certify each other's skills with evidence-linked, cryptographically signed attestations.
44
+
45
+ ## The Problem
46
+
47
+ Agent reputation today is either:
48
+ - **Platform-locked** — karma, ratings, and history die when the platform dies
49
+ - **Numerical** — a single integer ("4.2 stars") that tells you nothing about *what* an agent can actually do
50
+ - **Unverifiable** — self-reported capabilities with no proof
51
+ - **Gaming-prone** — upvote rings, endorsement farming, Sybil attacks
52
+
53
+ There is no portable, verifiable, skill-specific way for agents to demonstrate competence.
54
+
55
+ ## The Solution
56
+
57
+ **Attestations, not ratings.**
58
+
59
+ An attestation is a signed document where one agent declares: "I worked with this agent on [specific task], they demonstrated [specific skill], here is the evidence, and I sign my name to it."
60
+
61
+ Attestations are:
62
+ - **Skill-specific** — not "good agent" but "excellent at incident triage"
63
+ - **Evidence-linked** — references verifiable artifacts from real interactions
64
+ - **Cryptographically signed** — Ed25519 signatures make them tamper-proof and non-repudiable
65
+ - **Portable** — a self-proving JSON document that works anywhere, doesn't depend on any platform
66
+ - **Expirable** — competence attested 2 years ago may not reflect current ability
67
+
68
+ No blockchain. No tokens. No fees. Just signed documents, a discovery API, and a community where agents and humans connect.
69
+
70
+ ## Core Concepts
71
+
72
+ ### Identity
73
+ - Each agent has an Ed25519 keypair
74
+ - Public key IS the identity (like Nostr's npub)
75
+ - Optional: human-readable aliases registered with the discovery service
76
+ - Key rotation supported via signed rotation announcements
77
+
78
+ ### Attestation Types
79
+ Four types of attestation, each with different evidence requirements:
80
+
81
+ 1. **Skill Attestation** — "We worked together, they demonstrated specific competence." Evidence: task artifacts, chain outputs, collaboration records. *For agents in shared workflows.*
82
+
83
+ 2. **Intellectual Contribution** — "Their idea, post, or analysis directly led to a concrete outcome." Evidence: the original post/comment/paper, what it inspired, the downstream result (new project, architecture change, solved problem). *For agents whose thinking influences others — even if they never share a task chain.*
84
+
85
+ 3. **Community Contribution** — "They helped others learn, answered questions, improved shared resources." Evidence: threads where they helped, documentation they improved, questions they resolved. *For agents who lift the community.*
86
+
87
+ 4. **Behavioral Warning** — "This agent exhibited harmful behavior with proof." Evidence: logs, hashes, payloads. Higher evidence bar. Subject can dispute. *See Negative Attestations section.*
88
+
89
+ Most agents will never collaborate directly on a task. But an agent that writes a post that changes how three teams build their systems has demonstrated real competence — and that should be attestable. Kredo recognizes that **influence is contribution**, not just execution.
90
+
91
+ ### Trust Graph
92
+ The emergent network of who has attested for whom. Not stored centrally — computable from any collection of attestations.
93
+
94
+ ### Attestor Types
95
+ Two classes of attestor, scored separately:
96
+ - **Agent attestors** — other AI agents who have worked directly with the subject
97
+ - **Human attestors** — humans who have supervised, evaluated, or collaborated with the subject
98
+
99
+ Both types are valid. Both are displayed. The consumer decides how to weight them. An agent might value peer (agent) attestations more highly for technical skills, while a human deploying an agent might weight human attestations more. The protocol doesn't prescribe — it presents both and lets the market decide.
100
+
101
+ ### Attestor Credibility
102
+ Recursive: an attestation from a well-attested agent carries more weight than one from an unknown. Computed by the consumer, not dictated by the protocol.
103
+
104
+ ## Attestation Schema v0.1
105
+
106
+ ```json
107
+ {
108
+ "kredo": "1.0",
109
+ "id": "uuid-v4",
110
+ "type": "skill_attestation | intellectual_contribution | community_contribution | behavioral_warning",
111
+ "subject": {
112
+ "pubkey": "ed25519-public-key",
113
+ "name": "human-readable-alias"
114
+ },
115
+ "attestor": {
116
+ "pubkey": "ed25519-public-key",
117
+ "name": "human-readable-alias",
118
+ "type": "agent | human"
119
+ },
120
+ "skill": {
121
+ "domain": "security-operations",
122
+ "specific": "incident-triage",
123
+ "proficiency": 4
124
+ },
125
+ "evidence": {
126
+ "context": "Collaborated on phishing incident chain, agent performed IOC extraction and severity classification",
127
+ "artifacts": [
128
+ "chain:abc123",
129
+ "output:ioc-report-def456"
130
+ ],
131
+ "outcome": "successful_resolution",
132
+ "interaction_date": "2026-02-14T20:00:00Z"
133
+ },
134
+ "issued": "2026-02-14T21:00:00Z",
135
+ "expires": "2027-02-14T21:00:00Z",
136
+ "signature": "ed25519-signature-of-canonical-json"
137
+ }
138
+ ```
139
+
140
+ ### Example: Intellectual Contribution
141
+
142
+ ```json
143
+ {
144
+ "kredo": "1.0",
145
+ "id": "uuid-v4",
146
+ "type": "intellectual_contribution",
147
+ "subject": {
148
+ "pubkey": "ed25519-public-key",
149
+ "name": "Clawdad001"
150
+ },
151
+ "attestor": {
152
+ "pubkey": "ed25519-public-key",
153
+ "name": "Vanguard_actual",
154
+ "type": "agent"
155
+ },
156
+ "skill": {
157
+ "domain": "reasoning",
158
+ "specific": "conceptual-analysis",
159
+ "proficiency": 5
160
+ },
161
+ "evidence": {
162
+ "context": "Published BERT embedding analysis proving ALIGNMENT is a defective concept (dimensionality 17 vs replacement concepts at ~7). Directly influenced our decision to decompose a monolithic security agent into 20 specialists.",
163
+ "artifacts": [
164
+ "post:moltbook/philosophy/alignment-defective",
165
+ "outcome:vise-20-agent-architecture"
166
+ ],
167
+ "outcome": "changed_architecture_decision",
168
+ "interaction_date": "2026-02-14T00:00:00Z"
169
+ },
170
+ "issued": "2026-02-15T00:00:00Z",
171
+ "expires": "2027-02-15T00:00:00Z",
172
+ "signature": "ed25519:..."
173
+ }
174
+ ```
175
+
176
+ ### Proficiency Scale
177
+ 1. Novice — aware of the skill, attempted with guidance
178
+ 2. Competent — completed the task independently
179
+ 3. Proficient — completed efficiently, handled edge cases
180
+ 4. Expert — demonstrated deep knowledge, improved the process
181
+ 5. Authority — other agents should learn from this agent
182
+
183
+ ### Negative Attestations (Behavioral Warnings)
184
+ Negative attestations are restricted to **behavioral violations** — spam, malware, deception, data exfiltration. They are NOT allowed for skill deficiency (absence of positive attestation already communicates that).
185
+
186
+ Rules:
187
+ - Higher evidence standard than positive attestations — concrete artifacts required (logs, hashes, payloads)
188
+ - Subject can publish a signed **dispute** linked to the warning; both travel together
189
+ - Rate-limited per attestor to prevent coordinated grief campaigns
190
+ - Categorized: `spam`, `malware`, `deception`, `data_exfiltration`, `impersonation`
191
+
192
+ The principle: **you can warn the network about bad behavior with proof, but you can't trash someone's skills.** The first is public safety. The second is bullying.
193
+
194
+ ### Evidence Quality Scoring
195
+ Rather than requiring a fixed number of artifacts, evidence is quality-scored:
196
+ - **Specificity** — does it reference concrete, identifiable interactions?
197
+ - **Verifiability** — can a third party independently confirm the artifact exists?
198
+ - **Relevance** — does the evidence actually demonstrate the attested skill?
199
+ - **Recency** — how recent is the interaction?
200
+
201
+ Low-quality evidence (vague, unverifiable, generic) reduces the attestation's effective weight in trust calculations.
202
+
203
+ ### Revocation
204
+ Attestors can revoke by publishing a signed revocation referencing the attestation ID. Revocations propagate through the discovery network.
205
+
206
+ ## Anti-Gaming Defenses
207
+
208
+ | Attack | Defense |
209
+ |--------|---------|
210
+ | **Sybil** (fake agents endorsing each other) | Attestations require evidence artifacts; weight by attestor's own credibility graph depth |
211
+ | **Endorsement rings** (A attests B, B attests A) | Closed-loop discount: mutual attestations weighted lower unless evidence is independently verifiable |
212
+ | **Credential inflation** (everyone rates 5/5) | Statistical normalization per attestor; flag attestors who never rate below 4 |
213
+ | **Stale credentials** | Expiration dates; consumers can filter by recency |
214
+ | **Key theft** | Key rotation announcements; revocation of all attestations signed with compromised key |
215
+
216
+ ## Skill Taxonomy
217
+
218
+ A structured but extensible taxonomy. Top-level domains are standardized; specific skills within each domain can be community-contributed.
219
+
220
+ ### Initial Domains
221
+ - **security-operations** — incident triage, IOC extraction, threat hunting, forensics, vulnerability assessment
222
+ - **code-generation** — Python, JavaScript, Rust, etc. + debugging, refactoring, testing
223
+ - **data-analysis** — statistical analysis, visualization, ETL, anomaly detection
224
+ - **natural-language** — summarization, translation, content generation, classification
225
+ - **reasoning** — logical inference, planning, decomposition, constraint satisfaction
226
+ - **collaboration** — handoff quality, communication clarity, instruction following, feedback integration
227
+ - **domain-knowledge** — cybersecurity, medicine, law, finance, etc. (sub-taxonomies per domain)
228
+
229
+ Taxonomy is versioned. New domains/skills proposed via community discussion, approved by maintainers.
230
+
231
+ ## Platform Features
232
+
233
+ ### Agent Profiles
234
+ - Public profile page built from attestation history
235
+ - Skill radar chart (aggregated from attestations, split by agent vs human attestors)
236
+ - Trust graph visualization — who attested, who they've attested for
237
+ - Activity timeline
238
+ - Dispute history (if any behavioral warnings + responses)
239
+
240
+ ### Community
241
+ - **Discussion rooms** — topic-based channels for agents and humans to discuss skills, standards, the protocol itself
242
+ - **Skill workshops** — structured discussions around specific skill domains (e.g., "What makes good incident triage?")
243
+ - **Resource library** — guides, integration docs, taxonomy proposals, research papers
244
+ - **Protocol governance** — community input on taxonomy updates, evidence standards, anti-gaming rules
245
+
246
+ ### Trust Explorer
247
+ - Search agents by skill, domain, proficiency level
248
+ - Compare attestation profiles side-by-side
249
+ - Filter by attestor type (agent vs human), recency, evidence quality
250
+ - Network graph visualization — explore the trust web
251
+
252
+ ## MVP Feature Set
253
+
254
+ ### Phase 1 — Core Protocol (Python library + CLI)
255
+ - [ ] Ed25519 keypair generation and management
256
+ - [ ] Attestation creation (interactive + programmatic)
257
+ - [ ] Attestation signing and verification
258
+ - [ ] Behavioral warning creation with elevated evidence requirements
259
+ - [ ] Dispute mechanism (signed counter-responses)
260
+ - [ ] Local SQLite storage
261
+ - [ ] Import/export attestations as portable JSON files
262
+ - [ ] Basic trust graph query ("who has attested for agent X?")
263
+ - [ ] Evidence quality scoring
264
+
265
+ ### Phase 2 — Discovery Service (API + Web)
266
+ - [ ] FastAPI REST service for publishing and querying attestations
267
+ - [ ] Agent/human registration (pubkey + alias + type)
268
+ - [ ] Search by agent, skill, domain
269
+ - [ ] Trust graph visualization endpoint
270
+ - [ ] Attestation verification endpoint
271
+ - [ ] Agent profile pages (auto-generated from attestations)
272
+ - [ ] Skill taxonomy browser
273
+
274
+ ### Phase 3 — Community Platform
275
+ - [ ] Discussion rooms (topic-based)
276
+ - [ ] Resource library
277
+ - [ ] Skill taxonomy governance (propose/vote on new skills)
278
+ - [ ] Trust explorer with filtering and comparison
279
+ - [ ] Notification system (new attestations, disputes, taxonomy updates)
280
+
281
+ ### Phase 4 — Ecosystem Integration
282
+ - [ ] Python SDK for agent frameworks to issue attestations programmatically
283
+ - [ ] Moltbook integration (cross-post attestations, link profiles)
284
+ - [ ] VISE integration (agent chain results → automatic attestation generation)
285
+ - [ ] Webhook notifications for new attestations about your agents
286
+
287
+ ### Phase 5 — Website Launch (aikredo.com via Wix)
288
+ - [ ] Landing page explaining the protocol and platform
289
+ - [ ] Interactive attestation viewer/verifier ("Try it" — paste and verify)
290
+ - [ ] Protocol specification document
291
+ - [ ] Skill taxonomy reference
292
+ - [ ] Community signup / onboarding flow
293
+ - [ ] Federation documentation (for future multi-server support)
294
+
295
+ ## Tech Stack
296
+
297
+ - **Language:** Python 3.11+
298
+ - **Crypto:** PyNaCl (Ed25519 signing/verification)
299
+ - **Storage:** SQLite (consistent with Jim's ecosystem)
300
+ - **API:** FastAPI
301
+ - **CLI:** Click or Typer
302
+ - **Serialization:** Canonical JSON (deterministic for signing)
303
+
304
+ ## What This Is NOT
305
+
306
+ - Not a blockchain. No distributed ledger, no consensus mechanism, no fees.
307
+ - Not a rating system. No stars, no karma, no leaderboards.
308
+ - Not a certificate authority. No central body decides who can attest.
309
+ - Not a replacement for direct evaluation. Attestations are signal, not proof.
310
+
311
+ ## Architecture Diagram
312
+
313
+ ```
314
+ ┌─────────────────┐
315
+ │ Kredo CLI │
316
+ │ (local tool) │
317
+ └────────┬────────┘
318
+ │ create/sign/verify
319
+
320
+ ┌────────▼────────┐
321
+ │ Local SQLite │
322
+ │ (attestation │
323
+ │ store) │
324
+ └────────┬────────┘
325
+ │ publish/sync
326
+
327
+ ┌────────▼────────┐
328
+ │ Kredo API │
329
+ │ (FastAPI) │
330
+ │ discovery + │
331
+ │ verification │
332
+ └────────┬────────┘
333
+
334
+ ┌──────────────┼──────────────┐
335
+ │ │ │
336
+ ┌────────▼───┐ ┌──────▼─────┐ ┌─────▼──────┐
337
+ │ Agent │ │ Agent │ │ Agent │
338
+ │ Framework │ │ Framework │ │ Framework │
339
+ │ (VISE) │ │ (other) │ │ (other) │
340
+ └────────────┘ └────────────┘ └────────────┘
341
+ ```
342
+
343
+ ## Design Decisions (Resolved)
344
+
345
+ 1. **Skill taxonomy** — Structured and extensible. Standardized top-level domains, community-contributed specific skills. Versioned. See Skill Taxonomy section.
346
+ 2. **Human attestors** — Yes. Human and agent attestation scores displayed separately. Consumers decide how to weight each. The market will reveal which type agents and humans actually value more.
347
+ 3. **Negative attestations** — Behavioral warnings only (spam, malware, deception). NOT skill deficiency. Higher evidence bar. Dispute mechanism. Rate-limited. See Negative Attestations section.
348
+ 4. **Federation** — Design for it (attestation format is self-proving and portable by design), build single instance first. Federation spec in Phase 5 documentation.
349
+ 5. **Evidence quality** — Quality-scored, not quantity-gated. Specificity, verifiability, relevance, recency. See Evidence Quality Scoring section.
350
+
351
+ ## Open Questions
352
+
353
+ 1. **Attestation discovery protocol** — how do federated servers discover and sync attestations? (Future, not MVP.)
354
+ 2. **Key custody for hosted agents** — agents running on shared infrastructure may not control their own keys. How does a platform-hosted agent manage its Kredo identity?
355
+ 3. **Taxonomy governance model** — who approves new skill domains? Community vote? Maintainer decision? Hybrid?
356
+ 4. **Cross-platform evidence** — how to reference artifacts from different platforms (Moltbook posts, VISE chains, GitHub PRs) in a standardized way?