,例如did:codatta:bcf71098-397d-4741-a4b6-851384a9d48a。
+
+这个设计解决了传统多链、多应用环境中身份割裂的问题,使同一用户在不同系统中可以被一致识别,形成连续的身份历史。
+
+**用户自主控制,降低平台依赖**
+
+Codatta DID 的身份由用户生成并掌控,系统仅负责解析和验证。
+
+用户不依赖包括Codatta在内的中心化平台,身份及其关联关系可以在不同应用间自由迁移,从而消除平台锁定风险,保障长期可用性。
+
+**灵活授权模型,支持多场景**
+
+通过 Codatta DID method,身份文档可承载细粒度的授权信息,包括不同范围、期限和可撤销的权限。
+
+这一机制使身份能够适配多种使用场景,从简单登录验证,到跨系统协作和自动化授权,解决了传统身份体系授权僵化的问题。
\ No newline at end of file
diff --git a/cn/products/data-lineage.mdx b/cn/products/data-lineage.mdx
new file mode 100644
index 0000000..b6dda73
--- /dev/null
+++ b/cn/products/data-lineage.mdx
@@ -0,0 +1,94 @@
+---
+title: "数据谱系 (Data Lineage)"
+description: "在 Codatta 中,从资产化到组装、采用和分润,完整跟踪数据的生命周期。"
+icon: "diagram-project"
+---
+
+Codatta 提供一套透明、不可篡改的方式,来追踪数据从**原始贡献**到**链上资产**、再到**数据集组装**和**经济分配**的全过程。
+
+**数据谱系 (Data Lineage)** 页面,把这一流程拆解为四个阶段,方便贡献者、验证者、买家和治理参与者理解和审计。
+
+## 谱系可视化
+
+下图(使用英文节点)展示了 Codatta 协议中数据生命周期的四个阶段。
+
+```mermaid
+graph TB
+ %% Data Lineage Flow
+
+ subgraph Stage1 [Stage 1: Assetification]
+ S1(Submit Samples or Labels) --> V1(Validate)
+ V1 --> ANCHOR{{⬢ Anchor On-Chain}}
+ end
+
+ subgraph Stage2 [Stage 2: Data Assembling]
+ ANCHOR --> M1{◆ Merge / Curate}
+ ExtAsset(Other Assets) --> M1
+ M1 --> DS(Dataset Version)
+ end
+
+ subgraph Stage3 [Stage 3: Publication & Adoption]
+ DS --> PUB[■ Publish to HuggingFace]
+ DS --> ADOPT[■ Adopted by Model X]
+ end
+
+ subgraph Stage4 [Stage 4: Payouts]
+ ADOPT -.-> PAY(● $ Payout Event)
+ PAY -..-> ANCHOR
+ end
+```
+
+## 生命周期阶段
+
+### 1. 资产化 (Assetification)
+
+原始贡献在这一阶段被转化为可信、不可篡改的链上资产:
+
+- **提交 (Submission):** 贡献者提交样本、标签等原子贡献,并生成对应的贡献指纹 (CF)。
+- **筛选与验证 (Screening & Validation):** Codatta 运行自动预扫描检查,包括基于启发式的格式、策略合规与去重检查,以及 AI 代理的语义检查。必要时触发人工审核。在此步骤失败的提交会被拒绝,**不会产生 CF**。
+- **CF 创建与锚定 (CF Creation & Anchoring):** 对于每个被接受的原子贡献,系统构建一个 **CF 提交**(规范化内容哈希、附加证据与信号、绑定贡献者身份),然后在所选网络上**将 CF 的指纹锚定到链上**(单条 CF 或批量 Merkle 根)。
+
+相关文档:
+
+- **[贡献指纹 (CF)](/cn/core-systems/contribution-fingerprint)**
+
+### 2. 数据组装 (Data Assembling)
+
+在资产化基础上,已经锚定的资产会被策展、组合成可用的数据集版本:
+
+- **组合 (Composition):** 多个原子资产与资产包被合并进一个数据集装配流程。
+- **版本化 (Versioning):** 对输入或规则的每次修改都会生成新的数据集版本,方便回滚与对比。
+
+相关文档:
+
+- **[数据组装 (Data Assembly)](/cn/core-systems/data-assembly)**
+
+### 3. 发布与采纳 (Publication & Adoption)
+
+完成组装与锚定后,数据集被发布并进入实际使用场景:
+
+- **发布 (Publication):** 数据集被发布到 HuggingFace、去中心化存储或其他平台。
+- **采纳 (Adoption):** 模型和应用将特定版本的数据集接入训练、评估或推理,形成“有效使用”记录。
+
+相关文档:
+
+- **[访问控制与计量](/cn/core-systems/access-control-metering)**
+- **[存储、计算与服务](/cn/core-systems/storage-compute-serving)**
+
+### 4. 分润 (Payouts)
+
+当采纳行为产生收入(许可费、API 费用等)时,资金会沿着所有权图回流到权利方:
+
+- **价值流动 (Value Flow):** 每个付费事件都被绑定到具体的数据集版本与使用上下文。
+- **权利分配 (Distribution):** 协议按照事件时间点的所有权快照,把净收入分配给贡献者、验证者、支持者和协议金库。
+- **可转让所有权 (Backers):** 若所有权被二级交易给新的持有者,系统会自动把未来分润支付给当前持有人。
+
+相关文档:
+
+- **[版税引擎 (Royalty Engine)](/cn/core-systems/royalty-engine)**
+
+## 参考 (References)
+
+- [Codatta Hugging Face 数据集页面](https://huggingface.co/Codatta/datasets)
+
+
diff --git a/docs.json b/docs.json
index 3635758..f8da602 100644
--- a/docs.json
+++ b/docs.json
@@ -58,6 +58,18 @@
"en/business/governance-treasury"
]
},
+ {
+ "group": "Products",
+ "pages": [
+ "en/products/data-lineage"
+ ]
+ },
+ {
+ "group": "Ecosystem Integration",
+ "pages": [
+ "en/ecosystem-integration/adopting-erc-8004-x402-essentials"
+ ]
+ },
{
"group": "Protocol Token ($XNY)",
"pages": [
@@ -74,6 +86,17 @@
]
}
]
+ },
+ {
+ "tab": "Changelog",
+ "groups": [
+ {
+ "group": "2025",
+ "pages": [
+ "en/changelog/2025"
+ ]
+ }
+ ]
}
]
},
@@ -117,6 +140,13 @@
"cn/business/governance-treasury"
]
},
+ {
+ "group": "产品 (Products)",
+ "pages": [
+ "cn/products/data-lineage",
+ "cn/products/codatta-did"
+ ]
+ },
{
"group": "协议代币 ($XNY)",
"pages": [
@@ -133,6 +163,17 @@
]
}
]
+ },
+ {
+ "tab": "更新日志",
+ "groups": [
+ {
+ "group": "2025",
+ "pages": [
+ "cn/changelog/2025"
+ ]
+ }
+ ]
}
]
},
@@ -176,6 +217,12 @@
"ko/business/governance-treasury"
]
},
+ {
+ "group": "프로덕트",
+ "pages": [
+ "ko/products/data-lineage"
+ ]
+ },
{
"group": "프로토콜 토큰 ($XNY)",
"pages": [
@@ -192,6 +239,17 @@
]
}
]
+ },
+ {
+ "tab": "변경 로그",
+ "groups": [
+ {
+ "group": "2025",
+ "pages": [
+ "ko/changelog/2025"
+ ]
+ }
+ ]
}
]
}
diff --git a/en/changelog/2025.mdx b/en/changelog/2025.mdx
new file mode 100644
index 0000000..895dc87
--- /dev/null
+++ b/en/changelog/2025.mdx
@@ -0,0 +1,850 @@
+---
+title: "Changelog"
+description: "This changelog documents all updates, fixes, and new features for Codatta in 2025."
+---
+
+import { useState, useEffect } from 'react';
+
+
+
+
+
+
+
+ {(() => {
+ const ShowResult = () => {
+ const [num, setNum] = useState(0);
+ useEffect(() => {
+ if (typeof document === 'undefined') return;
+ const update = () => {
+ try {
+ const items = document.querySelectorAll('.changelog-item');
+ let count = 0;
+ items.forEach(item => {
+ if (item.style.display !== 'none') count++;
+ });
+ setNum(count);
+ } catch {}
+ };
+ update();
+ const id = setInterval(update, 2000);
+ return () => clearInterval(id);
+ }, []);
+ return (
+
+
+ {num}
+ result{num !== 1 ? 's' : ''}
+
+ );
+ };
+ return
;
+ })()}
+
+
+
+
+## Dec 04, 2025
+
+---
+**Evolving Incentives: Reward Lock-ups for Long-term Ecosystem Management**
+
+
+
+
+
+An optional lock-up feature for rewards from high-incentive tasks (e.g., in Airdrop or Frontier campaigns).
+
+- **Trigger:** Rewards are deposited to your balance after a campaign.
+- **Lock:** Secure rewards by locking them in a smart contract via the Assets page.
+- **Release:** After the lock-up period, claim rewards directly to your wallet with one click.
+
+This is a key step in evolving our incentive system toward granular management. It provides a tool to manage liquidity in high-reward scenarios, balancing short-term engagement with the ecosystem's long-term health.
+
+
+
+
+
+## Nov 24, 2025
+---
+**Campaign Launch: Airdrop Season 2**
+
+
+
+
+
+To systematically collect academic-grade datasets in physics, finance, and multimodal domains, and bootstrap high-quality data pipelines for three new frontiers.
+
+- **Action:** Launched Airdrop Season 2 with a 1M $XNY prize pool (3-month linear vesting).
+- **New Frontiers:**
+ - **Advanced Physics Questions:** For domain experts to submit high-difficulty physics problems that current AI cannot answer correctly.
+ - **Crypto & Stock Information:** To provide AI with reliable information related to cryptocurrency and stock investment decisions.
+ - **Real-world Photo:** To provide AI with real-world photographs that include annotated metadata.
+- **Reward Structure:** 90% for task completion, 10% for leaderboard rankings.
+- **Timeline:** Nov 24, 2025, 09:00 UTC – Dec 8, 2025, 09:00 UTC.
+
+
+
+
+
+## Nov 05, 2025
+---
+**Account System Upgrade: DID Officially Launched**
+
+
+
+
+
+A foundational upgrade enabling account binding to Decentralized Identifiers (DID).
+
+- **Binding:** Self-service integration of an on-chain DID through your next login to Codatta.
+- **Association:** The bound DID serves as the unified primary key, systematically indexing all task actions, data contributions, and reward distributions.
+- **Lineage:** Enables full traceability and verification of both on-chain and off-chain activities, establishing immutable data provenance.
+
+This deployment establishes the technical cornerstone for a verifiable data economy. By providing each contributor with a persistent, unique digital identity, we enable granular contribution attribution, unambiguous ownership verification, and transparent incentive allocation at the protocol level.
+
+
+
+
+
+## Nov 03, 2025
+---
+**Quest System Adjustment: Crypto Frontier QUEST Module Decommissioned**
+
+
+
+
+
+The entire Crypto Frontier QUEST module and all associated tasks—including Submission, Validation, and Bounty Hunting—have been taken offline.
+
+- **Why:** This module has completed its planned lifecycle under the current product roadmap. The decommission supports system streamlining and resource realignment for upcoming feature releases.
+- **Note:** Users' historical contribution records and earned rewards from this module remain intact. No other Frontier modules are affected by this change.
+
+
+
+
+
+## Oct 24, 2025
+---
+**Frontier System Adjustment: Robotics Frontier Decommissioned**
+
+
+
+
+
+The Robotics Frontier has been officially decommissioned. This action only affects the front-end entry point. All historical contribution data remains intact and accessible.
+
+- **Why:** This decision is part of our ongoing product streamlining to focus resources and user attention on our highest-priority active frontiers. The Robotics Frontier has fulfilled its planned exploratory phase, and its decommission allows us to consolidate efforts.
+- **Note:** Users' past contributions and rewards from the Robotics Frontier are preserved and can be reviewed in their contribution history. No other frontiers or platform functionality is impacted.
+
+
+
+
+
+## Oct 23, 2025
+---
+**Anti-Spam Enhancement: Daily Submission Limits Implemented**
+
+
+
+
+
+A new platform-wide security policy to prevent task spamming.
+
+- **How:** Enforces a configurable daily submission cap for each task.
+- **Why:** To protect system resources, ensure equitable participation for all contributors, and maintain the long-term health and fairness of the task ecosystem.
+
+
+
+
+
+## Oct 20, 2025
+---
+**Frontier System Adjustment: Crypto Frontier Decommissioned**
+
+
+
+
+
+The Crypto Frontier has been officially decommissioned. This action only affects the front-end entry point. All historical contribution data remains intact and accessible.
+
+- **Why:** This decision is part of our ongoing product streamlining to focus resources and user attention on our highest-priority active frontiers. The Crypto Frontier has fulfilled its planned exploratory phase, and its decommission allows us to consolidate efforts.
+- **Note:** Users' past contributions and rewards from the Crypto Frontier are preserved and can be reviewed in their contribution history. No other frontiers or platform functionality is impacted.
+
+
+
+
+
+## Oct 15, 2025
+---
+**System Governance: Platform Blacklist Control Implemented**
+
+
+
+
+
+A new blacklist control feature has been implemented on the platform.
+
+- **How:** Designated admins can now apply blacklist rules to restrict malicious accounts.
+- **Why:** To enhance platform security, protect contributor interests, and uphold ecosystem fairness.
+
+
+
+
+
+## Oct 13, 2025
+---
+**Campaign Launch: Airdrop Season 1**
+
+
+
+
+
+To systematically collect high-quality, structured data through a high-reward mechanism and anti-spam enforcement, ensuring validity and academic value, and to reward long-term contributors and diversify the platform's data ecosystem via five new frontier modules.
+
+- **Action:** Launched Airdrop Season 1 with a 2.5M $XNY prize pool and points rewards.
+- **New Frontiers:**
+ - **Model Comparison:** Compare performance metrics and business outcomes across different AI models to identify optimal or hybrid solutions.
+ - **Spot LLM's Mistakes:** Identify reasoning, factual, and logical errors in LLM outputs to support model optimization.
+ - **Correct LLM's Mistakes:** Collect corrective data to help LLMs learn from mistakes and improve self-correction and reasoning.
+ - **Food Science:** Gather research data in food science and nutritional functionality to drive innovation in the field.
+ - **Lifelog Canvas:** Track and log personal behavior and health-related data to support behavioral and related research.
+- **Reward Structure:** Rewards are ranked by submission rating and distributed after the campaign. Malicious submissions are penalized to ensure data quality.
+- **Timeline:** Oct 13, 2025, 09:00 UTC - Oct 27, 2025, 09:00 UTC.
+
+
+
+
+
+## Oct 10, 2025
+---
+**Feature Launch: Frontier-Specific Reward Activity**
+
+
+
+
+
+Configurable reward activities are now available for Frontiers, offering additional high-value incentives.
+
+- **How:** Selected Frontier tasks provide extra rewards in $XNY or USDT, independent of base points. Activity parameters (reward amount, duration, objectives) are set per Frontier and displayed on their respective homepages.
+- **Why:** To drive deeper participation in high-value data tasks through targeted incentives, improving both data quality and ecosystem engagement.
+
+
+
+
+
+## Sep 26, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 3 Week 4**
+
+
+
+
+
+To accelerate AI development through trusted multi-domain data collection and foster community-driven decentralized AI knowledge building.
+
+- **Access:** Accessible via the Binance Wallet Booster tab or the homepage banner (requires Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY (with a lock-up period), distributed after task completion and verification.
+- **Timeline:** September 26, 2025, 07:00 UTC – October 3, 2025, 07:00 UTC.
+
+
+
+
+
+## Sep 12, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 3 Week 3**
+
+
+
+
+
+To collect cross-domain data across life, robotics, crypto, model comparison, and fingerprint verification for AI training and verification.
+
+- **Access:** Accessible via the Binance Wallet Booster tab or the homepage banner (requires Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY (with a lock-up period), distributed after task completion and verification.
+- **Timeline:** September 12, 2025, 07:00 UTC – September 19, 2025, 07:00 UTC.
+
+
+
+
+
+## Sep 05, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 3 Week 2**
+
+
+
+
+
+To collect and annotate cross-domain data across life, robotics, and crypto for AI training and validation.
+
+- **Access:** Accessible via the Binance Wallet Booster tab or the homepage banner (requires Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY (with a lock-up period), distributed after task completion and verification.
+- **Timeline:** September 5, 2025, 07:00 UTC – September 12, 2025, 07:00 UTC.
+
+
+
+
+
+## Aug 28, 2025
+---
+**Feature Launch: User Data Profile**
+
+
+
+
+
+Introduce a new Data Profile feature within the User Info module.
+
+- **How:** Access via User Info > Data Profile to view your total submissions, earned rewards, and contribution statistics in a visual dashboard.
+- **Why:** Provide transparency into your contributions, reinforce engagement through visible progress tracking, and support long-term participation.
+
+
+
+
+
+## Aug 22, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 3 Week 1**
+
+
+
+
+
+To establish a foundation of cross-domain annotated data across life, robotics, and crypto for decentralized AI training.
+
+- **Access:** Accessible via the Binance Wallet Booster tab or the homepage banner (requires Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY (with a lock-up period), distributed after task completion and verification.
+- **Timeline:** August 22, 2025, 07:00 UTC – August 29, 2025, 07:00 UTC.
+
+
+
+
+
+## Aug 15, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 2 Week 4**
+
+
+
+
+
+To systematically annotate and expand domain-specific datasets in food AI, robotic interaction, and CEX on-chain data for decentralized AI training.
+
+- **Access:** Accessible via Binance Wallet Booster tab or homepage banner (requires Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY (with a lock-up period), distributed after task completion and verification.
+- **Timeline:** August 15, 2025, 07:00 UTC – August 22, 2025, 07:00 UTC.
+
+
+
+
+
+## Aug 08, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 2 Week 3**
+
+
+
+
+
+To systematically collect annotated data across four key areas: project learning, food AI judgement, robotic annotation, and CEX data expansion.
+
+- **Access:** Accessible via Binance Wallet Booster tab or homepage banner (Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY (with a lock-up period), distributed after task completion and verification.
+- **Timeline:** August 8, 2025, 07:00 UTC – August 15, 2025, 07:00 UTC.
+
+
+
+
+
+## Aug 01, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 2 Week 2**
+
+
+
+
+
+To collect annotated data across three core domains: AI food model comparison, robotic interaction annotation, and CEX hot wallet data labeling.
+
+- **Access:** Accessible via Binance Wallet Booster tab or homepage banner (Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY (with a lock-up period), distributed after task completion and verification.
+- **Timeline:** August 1, 2025, 07:00 UTC – August 8, 2025, 07:00 UTC.
+
+
+
+
+
+## July 24, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 2 Week 1**
+
+
+
+
+
+To validate AI food analysis and enhance robotics training through annotated real-world interaction data.
+
+- **Access:** Accessible via Binance Wallet Booster tab or homepage banner (Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY (with a lock-up period), distributed after task completion and verification.
+- **Timeline:** July 24, 2025, 07:00 UTC – July 31, 2025, 07:00 UTC.
+
+
+
+
+
+## July 16, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 1 Week 4**
+
+
+
+
+
+To deepen AI's understanding of food by collecting enriched annotations that go beyond labels to include weight, cooking methods, and caloric content.
+
+- **Access:** Accessible via Binance Wallet Booster tab or homepage banner (Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY, distributed after task completion and verification.
+- **Timeline:** July 16, 2025, 13:00 UTC – July 23, 2025, 13:00 UTC.
+
+
+
+
+
+## July 09, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 1 Week 3**
+
+
+
+
+
+To teach AI nuanced understanding of human dietary habits by collecting annotated images of ready-to-eat food, focusing on cultural and contextual relevance beyond simple labels.
+
+- **Access:** Accessible via Binance Wallet Booster tab or homepage banner (Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY, distributed after task completion and verification.
+- **Timeline:** July 9, 2025, 13:00 UTC – July 16, 2025, 13:00 UTC.
+
+
+
+
+
+## July 07, 2025
+---
+**Feature Optimization: Quest System Restored**
+
+
+
+
+
+The Quest system has been fully restored and reopened.
+
+- **How:** Temporarily taken offline on June 30, 2025, and now comprehensively restored.
+- **Why:** To enhance system stability and user experience through architectural upgrades.
+
+
+
+
+
+## July 02, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 1 Week 2**
+
+
+
+
+
+To expand AI's understanding of global food culture and preferences through nuanced image labeling across vegetarian, non-vegetarian, and mixed categories.
+
+- **Access:** Accessible via Binance Wallet Booster tab or homepage banner (Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY, distributed after task completion and verification.
+- **Timeline:** July 2, 2025, 13:00 UTC – July 9, 2025, 13:00 UTC.
+
+
+
+
+
+## June 25, 2025
+---
+**Campaign Launch: Codatta Booster Campaign Season 1 Week 1**
+
+
+
+
+
+To launch the inaugural season by collecting annotated food data, engaging community knowledge through quizzes, and rewarding participation via a multi-tiered incentive structure.
+
+- **Access:** Accessible via Binance Wallet Booster tab or homepage banner (Alpha Points ≥ 61).
+- **Rewards:** Total reward pool of 50,000,000 $XNY, distributed after task completion and verification.
+- **Timeline:** June 25, 2025, 13:00 UTC – July 2, 2025, 13:00 UTC.
+
+
+
+{/* Component definitions - moved to end of file for cleaner code organization */}
+export const ChangelogFilter = () => {
+ const [activeFilter, setActiveFilter] = useState('all');
+ const [isOpen, setIsOpen] = useState(false);
+ const [isMenuHovered, setIsMenuHovered] = useState(false);
+
+ useEffect(() => {
+ window.activeTypeFilter = activeFilter;
+ }, [activeFilter]);
+
+ useEffect(() => {
+ const items = document.querySelectorAll('.changelog-item');
+ const activeMonth = window.activeMonthFilter || 'all';
+
+ items.forEach((item) => {
+ const itemType = item.getAttribute('data-type');
+ const itemMonth = item.getAttribute('data-month');
+
+ const typeMatch = activeFilter === 'all' || itemType === activeFilter;
+ const monthMatch = activeMonth === 'all' || itemMonth === activeMonth;
+
+ item.style.display = typeMatch && monthMatch ? '' : 'none';
+ });
+ }, [activeFilter]);
+
+ const filterTypes = [
+ { id: 'all', label: 'All', color: '#6b7280', count: 24 },
+ { id: 'core-feature', label: 'Core Feature Release', color: '#16A34A', count: 4 },
+ { id: 'optimization', label: 'Adjustments & Optimization', color: '#F59E0B', count: 3 },
+ { id: 'fixes', label: 'Fixes & Feature Sunset', color: '#EF4444', count: 3 },
+ { id: 'campaign', label: 'Campaign Launch', color: '#A855F7', count: 14 }
+ ];
+
+ const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0];
+
+ return (
+
+
setIsOpen(!isOpen)}
+ style={{
+ display: 'inline-flex',
+ alignItems: 'center',
+ gap: '0.5rem',
+ padding: '0.625rem 1rem',
+ border: '2px solid #e5e7eb',
+ borderRadius: '0.5rem',
+ background: 'white',
+ cursor: 'pointer',
+ fontSize: '0.875rem',
+ fontWeight: '500',
+ boxShadow: isOpen ? `0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)` : '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
+ transition: 'all 0.2s ease',
+ userSelect: 'none',
+ minWidth: '200px'
+ }}
+ >
+
+
+ {activeType.label} ({activeType.count})
+
+
+
+
+ {isOpen && (
+
setIsMenuHovered(true)}
+ onMouseLeave={() => setIsMenuHovered(false)}
+ style={{
+ position: 'absolute',
+ top: '100%',
+ left: 0,
+ marginTop: '0.5rem',
+ backgroundColor: 'white',
+ border: `2px solid ${isMenuHovered ? '#9ca3af' : '#e5e7eb'}`,
+ borderRadius: '0.5rem',
+ boxShadow: isMenuHovered
+ ? '0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1)'
+ : '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
+ zIndex: 1000,
+ minWidth: '280px',
+ overflow: 'hidden',
+ transition: 'border-color 0.2s ease, box-shadow 0.2s ease'
+ }}
+ >
+ {filterTypes.map((type) => (
+
{
+ setActiveFilter(type.id);
+ setIsOpen(false);
+ }}
+ style={{
+ padding: '0.75rem 1rem',
+ cursor: 'pointer',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ borderBottom: type.id !== filterTypes[filterTypes.length - 1].id ? '1px solid #f3f4f6' : 'none',
+ backgroundColor: activeFilter === type.id ? '#f9fafb' : 'white',
+ transition: 'background-color 0.15s ease'
+ }}
+ onMouseEnter={(e) => {
+ if (activeFilter !== type.id) {
+ e.currentTarget.style.backgroundColor = '#f3f4f6';
+ }
+ }}
+ onMouseLeave={(e) => {
+ if (activeFilter !== type.id) {
+ e.currentTarget.style.backgroundColor = 'white';
+ }
+ }}
+ >
+
+ {type.label}
+
+
+ {type.count}
+
+
+ ))}
+
+ )}
+
+ {isOpen && (
+
setIsOpen(false)}
+ style={{
+ position: 'fixed',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ zIndex: 999,
+ backgroundColor: 'transparent'
+ }}
+ />
+ )}
+
+ );
+};
+
+export const MonthFilter = () => {
+ const [activeMonth, setActiveMonth] = useState('all');
+ const [isOpen, setIsOpen] = useState(false);
+ const [isMenuHovered, setIsMenuHovered] = useState(false);
+
+ useEffect(() => {
+ window.activeMonthFilter = activeMonth;
+ const event = new Event('monthFilterChange');
+ window.dispatchEvent(event);
+ }, [activeMonth]);
+
+ useEffect(() => {
+ const handleMonthChange = () => {
+ const items = document.querySelectorAll('.changelog-item');
+ const activeType = window.activeTypeFilter || 'all';
+
+ items.forEach((item) => {
+ const itemType = item.getAttribute('data-type');
+ const itemMonth = item.getAttribute('data-month');
+
+ const typeMatch = activeType === 'all' || itemType === activeType;
+ const monthMatch = activeMonth === 'all' || itemMonth === activeMonth;
+
+ item.style.display = typeMatch && monthMatch ? '' : 'none';
+ });
+ };
+
+ window.addEventListener('monthFilterChange', handleMonthChange);
+ handleMonthChange();
+
+ return () => {
+ window.removeEventListener('monthFilterChange', handleMonthChange);
+ };
+ }, [activeMonth]);
+
+ const months = [
+ { id: 'all', label: 'All Months', count: 24 },
+ { id: 'dec', label: 'December', count: 1 },
+ { id: 'nov', label: 'November', count: 3 },
+ { id: 'oct', label: 'October', count: 6 },
+ { id: 'sep', label: 'September', count: 3 },
+ { id: 'aug', label: 'August', count: 5 },
+ { id: 'jul', label: 'July', count: 5 },
+ { id: 'jun', label: 'June', count: 1 }
+ ];
+
+ const activeMonthData = months.find(month => month.id === activeMonth) || months[0];
+
+ return (
+
+
setIsOpen(!isOpen)}
+ style={{
+ display: 'inline-flex',
+ alignItems: 'center',
+ gap: '0.5rem',
+ padding: '0.625rem 1rem',
+ border: '2px solid #e5e7eb',
+ borderRadius: '0.5rem',
+ background: 'white',
+ cursor: 'pointer',
+ fontSize: '0.875rem',
+ fontWeight: '500',
+ boxShadow: isOpen ? `0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)` : '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
+ transition: 'all 0.2s ease',
+ userSelect: 'none',
+ minWidth: '200px'
+ }}
+ >
+
+ {activeMonthData.label} ({activeMonthData.count})
+
+
+
+
+ {isOpen && (
+
setIsMenuHovered(true)}
+ onMouseLeave={() => setIsMenuHovered(false)}
+ style={{
+ position: 'absolute',
+ top: '100%',
+ left: 0,
+ marginTop: '0.5rem',
+ backgroundColor: 'white',
+ border: `2px solid ${isMenuHovered ? '#9ca3af' : '#e5e7eb'}`,
+ borderRadius: '0.5rem',
+ boxShadow: isMenuHovered
+ ? '0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1)'
+ : '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
+ zIndex: 1000,
+ minWidth: '280px',
+ overflow: 'hidden',
+ transition: 'border-color 0.2s ease, box-shadow 0.2s ease'
+ }}
+ >
+ {months.map((month) => (
+
{
+ setActiveMonth(month.id);
+ setIsOpen(false);
+ }}
+ style={{
+ padding: '0.75rem 1rem',
+ cursor: 'pointer',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ borderBottom: month.id !== months[months.length - 1].id ? '1px solid #f3f4f6' : 'none',
+ backgroundColor: activeMonth === month.id ? '#f9fafb' : 'white',
+ transition: 'background-color 0.15s ease'
+ }}
+ onMouseEnter={(e) => {
+ if (activeMonth !== month.id) {
+ e.currentTarget.style.backgroundColor = '#f3f4f6';
+ }
+ }}
+ onMouseLeave={(e) => {
+ if (activeMonth !== month.id) {
+ e.currentTarget.style.backgroundColor = 'white';
+ }
+ }}
+ >
+
+ {month.label}
+
+
+ {month.count}
+
+
+ ))}
+
+ )}
+
+ {isOpen && (
+
setIsOpen(false)}
+ style={{
+ position: 'fixed',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ zIndex: 999,
+ backgroundColor: 'transparent'
+ }}
+ />
+ )}
+
+ );
+};
diff --git a/en/community/history.mdx b/en/community/history.mdx
index e01c8b7..7ca06b9 100644
--- a/en/community/history.mdx
+++ b/en/community/history.mdx
@@ -4,8 +4,12 @@ description: ""
---
+
+ Execute the “Forge” year: ship end-to-end hybrid protocol in production (on-chain anchoring -> CF assetification), pilot & PoV (Proof of Value) access control & metering and deterministic royalties, scale pods + useful agents, and enable pay-per-request distribution; see the [Roadmap](/en/community/roadmap) for milestone-level details.
+
+
- `$XNY` TGE (Jul 23, 2025) and listing live; As the 1st Binance Booster Campaign, it activated distribution and community participation; commercial datasets/APIs shipped so contributors earn ongoing royalties.
+ `$XNY` TGE (Jul 23, 2025) and broad circulation via major exchanges (e.g., Binance, Kraken, Bybit, etc.); special thanks to the Binance Booster program (Codatta as the first project) for early distribution and attention; crossed **1M+ KYC’ed users** (the real starting line for enterprise-grade data); used distribution moments to recruit and train contributors (not chase empty metrics); commercial datasets/APIs shipped so contributors earn ongoing royalties.
@@ -27,6 +31,7 @@ description: ""
* **Codatta Medium** — “From Fragmented Labels to Shared Knowledge” (recap of ~500M crypto account annotations under CAA). ([Medium][4])
* **Binance** — Codatta Booster Campaign announcement. ([Binance][5])
* **Codatta X (Twitter)** — TGE date (Jul 23, 2025) and Booster progress posts. ([X (formerly Twitter)][6])
+* **Codatta Docs** — Community roadmap (2026–2028). ([Roadmap][9])
* **Avalanche** — infraBUIDL(AI) program (grant framework) and third-party notes on Codatta’s selection. ([Avalanche Builder Hub][8])
[1]: https://www.coinbase.com/blog/microscope-protocol-for-collaboratively-labeling-crypto-addresses?utm_source=chatgpt.com "Microscope: Protocol for Collaboratively Labeling Crypto ..."
@@ -37,3 +42,4 @@ description: ""
[6]: https://x.com/codatta_io/status/1947668869671489793?utm_source=chatgpt.com "Codatta - TGE 23 July"
[7]: https://coinmarketcap.com/currencies/codatta/?utm_source=chatgpt.com "Codatta price today, XNY to USD live ..."
[8]: https://build.avax.network/grants/infrabuidlai?utm_source=chatgpt.com "Avalanche infraBUIDL(AI) Program"
+[9]: /en/community/roadmap "Codatta Community Roadmap (2026–2028)"
diff --git a/en/community/roadmap.mdx b/en/community/roadmap.mdx
index 3a8b3a0..2ed820c 100644
--- a/en/community/roadmap.mdx
+++ b/en/community/roadmap.mdx
@@ -1,18 +1,109 @@
---
title: "Roadmap"
-description: "4-year building plan"
+description: "3-year building plan"
---
-## Codatta Community Roadmap (2025-2028)
+## Codatta Community Roadmap (2026–2028)
+
+This roadmap lays out the next three years of execution—from making the hybrid protocol work end-to-end in production, to decentralizing the core loop, to becoming the knowledge-economy backbone.
+
+**Terms:** **CF** = Contribution Fingerprint; **TNPL** = Train‑Now‑Pay‑Later.
+
+### Summary
+
+- **2026 — Forge**: Make the hybrid protocol work end-to-end and plug into real businesses.
+- **2027 — Mesh**: Decentralize the core loop and make it interoperable across chains, operators, and agent ecosystems.
+- **2028 — Nexus**: Become the knowledge-economy backbone with end-to-end auditable lineage, on-chain TNPL, and autonomous evolution.
---
-| Phase | Goals & Key Deliverables (incl. product rollouts) | Community Engagement / Pod Strategy | Key Protocol Metrics |
-| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **2025 – Assetification & Royalty Readiness** | Launch registry, staking-as-confidence, reputation, payout rails; pilot APIs/SDKs; roll out 50–100 topics | Kick off regional clubs (pods) in major geographies to manage onboarding, peer support, local campaigns | Number of topics live; volume of royalty payouts; total staked on data/contributors; average confidence scores; number of active data access calls |
-| **2026 – Scale Participation & Business Integration** | Deploy portfolio packaging & fractional data asset modules; SDK v2; onboard business clients and consumption APIs | Expand pod network (20+ regions); train pod leads; run local events, sprints, hackathons | % of revenue flowing to contributors; number of portfolios created & traded; data usage / request volume; retention of high-confidence data; latencies / response times for queries |
-| **2027 – Decentralization & Interoperability** | Protocol v3: modular, cross-chain infrastructure, operator decentralization, on-chain governance & treasury | Transition pods into local DAO/sub-DAO roles; enable pod proposals & supervision; federated pod coordination | Governance decentralization (e.g. % non-foundation votes, Nakamoto coefficient); number of independent operators; cross-chain throughput; governance proposals count; protocol uptime / availability |
-| **2028 – Knowledge Economy Backbone** | Protocol v4: autonomous upgrades, data marketplace maturity, AI-agent integration, institutional portfolio launch | Pods fully integrated into ecosystem governance; pod subgovernance (topic forks, curator elections); global pod collaboration | Total topics; contributor count; ARR of protocol; average royalty per contributor; number of AI integrations; on-chain upgrade frequency; protocol composability across chains |
+## 2026 — **Forge**
+
+Make the hybrid protocol *work end-to-end* and plug into real businesses.
+
+### Key milestones
+
+**Protocol maturity**
+
+* Ship **Assetification → CF creation → on-chain anchoring** with automated screening (heuristics + agent semantic checks) and batched Merkle anchoring where needed. ([Data Lineage](/en/products/data-lineage))
+* Productionize the **hybrid delivery stack**: decentralized source-of-truth + cloud hot paths + secure compute (stack to be selected) behind an Access Gateway. ([Storage, Compute & Serving](/en/core-systems/storage-compute-serving))
+* Productionize **Access Control & Metering**: versioned access policies, obligations (e.g., masking/sampling), and signed usage events for billing/royalties (TNPL supported). ([Access Control & Metering](/en/core-systems/access-control-metering))
+* Build the **attribution + tracking platform** (not necessarily fully on-chain): fast lineage lookups (search/diffs/export), batch access, and inference/usage tracking—so full-cycle attribution is replayable. ([Data Assembly](/en/core-systems/data-assembly))
+* Ship **Ownership + Royalties**: fractional ownership proofs/receipts, snapshot hashes, challenge windows; deterministic Royalty Engine payouts (stablecoins default). ([Tokenized Ownership Proofs](/en/core-systems/tokenized-ownership-proofs))
+* Put **$XNY utility** into real production paths: gas, task launch deposits, metered access, ownership trades; keep payouts flexible (stablecoins + majors) to reduce buyer friction. ([Token Utility](/en/protocol-token/token-utility))
+* Lay the groundwork for **portfolio packaging, fractional modules, and SDK (0.x pilots)** with select startup partners.
+
+**Network of humans + agents**
+
+* Roll out the **identity ladder + talent index** (DID identities, attestations, and a verification network), enabling expert tracks and reliable talent discovery—without overexposing privacy. ([Identity](/en/core-systems/identity))
+* Scale contributor **pods to 10+ pivotal regions** as the operating layer for onboarding, QA culture, and local growth loops.
+* Make **agents useful in production** (pre-labeling, triage, validation), and start emitting the right evidence trails so they can later become fully “first-class” participants. ([ERC-8004 + x402](/en/ecosystem-integration/adopting-erc-8004-x402-essentials))
+
+**Asset economy & GTM**
+
+* Launch **Data Lineage** as the default story UI: Assetification → Assembling → Adoption → Payouts; connect adoption to real payout events. ([Data Lineage](/en/products/data-lineage))
+* Enable **pay-per-request** for APIs and agent endpoints (x402) so metering → payout routing is native, not bolted on. ([ERC-8004 + x402](/en/ecosystem-integration/adopting-erc-8004-x402-essentials))
+
+**Use case enabled**
+
+A startup hits a Codatta endpoint, gets a `402`, pays once, and retries. The request is metered, tied to a dataset version, and logged with the policy that allowed it. Months later, when their product revenue lands, the Royalty Engine replays the same events and pays the right people—contributors, validators, backers—without debate.
+
+---
+
+## 2027 — **Mesh**
+
+Decentralize the core loop and make it interoperable across chains, operators, and agent ecosystems.
+
+### Key milestones
+
+**Protocol maturity**
+
+* Ship **Protocol v2: modular + cross-chain + operator decentralization + on-chain governance/treasury**.
+* Build and test the **dataset + ownership marketplace** (policy-gated): listings, bundles, transfers, and ownership fractions—so real demand can start forming. ([Ownership, Royalties & Liquidity](/en/business/ownership-liquidity))
+* Run **governance pilots** on real knobs (market rules, royalty bands, split templates, access rules, staking parameters, task launch deposit sizing). ([Governance and Treasury](/en/business/governance-treasury))
+* Push privacy forward: **selective disclosure** by default; pilot **anonymous credentials / ZK** where it unlocks regulated demand. ([Identity](/en/core-systems/identity))
+
+**Network of humans + agents**
+
+* Transition pods toward **DAO/sub-DAO roles** (local proposals + supervision, federated coordination).
+* Make agents truly first-class via **ERC-8004 identity/reputation/validation registries** and map their work to ownership/royalties. ([ERC-8004 + x402](/en/ecosystem-integration/adopting-erc-8004-x402-essentials))
+
+**Asset economy & GTM**
+
+* Launch the **dataset + ownership marketplace** (still policy-gated), using listings, bundles, and secondary markets where appropriate; $XNY for listing/settlement, stablecoins for payouts. ([Ownership, Royalties & Liquidity](/en/business/ownership-liquidity))
+* Deepen “plug-in backend” distribution: APIs + on-chain hooks + identity adapters so existing platforms can adopt Codatta without re-platforming. ([Governance and Treasury](/en/business/governance-treasury))
+* Take **portfolio packaging, fractional modules, and SDK** into production—supporting packaging contributions and revenue-share entitlements for startups at scale.
+
+**Use case enabled**
+
+A research group in Seoul and an enterprise team in Dubai both contribute to the same topic through local pods. A KYB-triage agent, registered and scored like a real participant, pre-labels the queue; expert humans confirm edge cases. Liquidity starts to form: a backer buys a fraction in a high-performing asset bundle, and payouts flow to whoever holds the fraction at snapshot time.
+
+---
+
+## 2028 — **Nexus**
+
+Become the knowledge-economy backbone: end-to-end on-chain lineage + on-chain TNPL + autonomous evolution.
+
+### Key milestones
+
+**Protocol maturity**
+
+* Ship **Protocol v3**: autonomous upgrades, marketplace maturity, deep AI-agent integration, and institutional portfolio rails.
+* Move to **end-to-end auditable lineage** across the full lifecycle (CFs → assets → dataset versions → adoption → payout), minimizing trust gaps and maximizing replayability. ([Data Assembly](/en/core-systems/data-assembly))
+* Put **TNPL fully on-chain**: usage metering covers training + downstream inference of derived models; settlement flows by rule, not negotiation. ([Royalty Economy](/en/quick-guide/royalty-economy))
+* Governance becomes real control: community tunes **reputation weights** and other protocol parameters with transparent versions and audit trails. ([Reputation](/en/core-systems/reputation))
+
+**Network of humans + agents**
+
+* Agents become **investable, composable actors** with shared trust signals; humans shift toward high-skill review, adjudication, and frontier expertise. ([ERC-8004 + x402](/en/ecosystem-integration/adopting-erc-8004-x402-essentials))
+
+**Asset economy & GTM**
+
+* Codatta is the default **provenance + policy + metering + payouts backend** across many ecosystems; open distribution stays broad, paid inventory compounds. ([Royalty Economy](/en/quick-guide/royalty-economy))
+
+**Use case enabled**
+
+A developer trains under TNPL, ships a model, and sells an API worldwide. Every meaningful request is metered, and royalties stream continuously to the people and agents whose work made the model possible. Nobody argues over attribution—lineage answers it. The protocol upgrades itself through governed, replayable rules, while the ecosystem keeps building on top.
---
@@ -39,3 +130,4 @@ description: "4-year building plan"
* We aim to **build in public**, where transparency fosters trust, invites constructive feedback, and holds us accountable to our community.
* We view **token holders, contributors, and participants** as **stakeholders** — like shareholders — and believe visibility helps align incentives, deepen commitment, and elevate long-term thinking.
+
diff --git a/en/core-systems/contribution-fingerprint.mdx b/en/core-systems/contribution-fingerprint.mdx
index e3172a6..8baa1b7 100644
--- a/en/core-systems/contribution-fingerprint.mdx
+++ b/en/core-systems/contribution-fingerprint.mdx
@@ -31,7 +31,7 @@ config:
---
flowchart TB
subm[Submission of Data]
- subm --> prescan[Pre-scan: Format/Policy Gate and De-dup]
+ subm --> prescan[Pre-scan: Heuristic checks (format/policy/dedup) + AI agent semantic checks]
subm --> store[Store Encrypted Payload at Hybrid Storage]
prescan --> |Auto-accept| build[Build CF Commit: canonicalize hash attach Evidence and Signals atomic_kind parent_cf]
prescan --> |Needs Human Review| review[Human Review]
@@ -55,7 +55,7 @@ flowchart TB
**Step explanations**
- **Submit** — The contributor sends the content. We save an **encrypted copy** and a stable reference (content ID or URL).
-- **Pre‑scan** — Light checks for format, privacy redactions, and duplicates. Some items pass automatically; others may need a quick human review.
+- **Pre‑scan** — Heuristic-based checks for format, policy compliance, and deduplication, plus semantic checks with AI agents. Some items pass automatically; others may need a quick human review.
- **Create the record** — We standardize the details, mark whether it’s a **sample**, **label**, or **validation**, and attach **evidence & signals** (see below).
- **Bind identity** — The contributor approves/signs the record using a wallet or decentralized ID (DID).
- **Anchor on chain** — A fingerprint is immutably anchored to a blockchain (individually or in a batch).
diff --git a/en/diagrams/erc-8004-x402-flow.png b/en/diagrams/erc-8004-x402-flow.png
new file mode 100644
index 0000000..c19a6dd
Binary files /dev/null and b/en/diagrams/erc-8004-x402-flow.png differ
diff --git a/en/ecosystem-integration/adopting-erc-8004-x402-essentials.mdx b/en/ecosystem-integration/adopting-erc-8004-x402-essentials.mdx
new file mode 100644
index 0000000..c337df9
--- /dev/null
+++ b/en/ecosystem-integration/adopting-erc-8004-x402-essentials.mdx
@@ -0,0 +1,90 @@
+---
+title: "Adopting ERC-8004 and x402 as Essentials"
+description: "How ERC-8004 and x402 let Codatta plug into the Ethereum agent economy while paying contributors fairly."
+---
+
+## Overview
+
+
+
+Codatta turns human and agent work into on-chain data assets, then routes value back to whoever created that value.
+To plug cleanly into the emerging agent economy, we standardize on:
+
+- **ERC-8004** for agent identity and trust on Ethereum
+- **x402** for HTTP-native, pay-per-request payments
+
+
+## 1. Background
+
+**ERC-8004 (Trustless Agents)** is an Ethereum standard that adds a trust layer on top of agent protocols.
+It defines three on-chain registries—Identity, Reputation, and Validation—so agents can be discovered and judged by a shared record of their behavior ([Ethereum Improvement Proposals][1]).
+
+**x402** is an open, chain-agnostic payment protocol that reuses the HTTP `402 Payment Required` status code so clients (humans or AI agents) can pay for APIs and content directly over HTTP with crypto, typically stablecoins ([Coinbase Developer Docs][2]).
+
+
+## 2. How we adopt ERC-8004
+
+In Codatta, agents help with pre-labelling, triage, and validation alongside human experts.
+
+We use ERC-8004 to make these agents first-class, verifiable participants:
+
+- **Agent registration**
+ Each Codatta agent (for example “transaction classifier”, “KYB triage”, “policy validator”) is listed in the ERC-8004 Identity Registry with:
+ - its MCP/A2A endpoint
+ - capability description
+ - basic pricing metadata
+
+- **On-chain reputation and validation**
+ As agents pre-label and validate tasks, we emit:
+ - **Reputation entries** summarizing outcomes (accept rate, conflicts with humans, slashing events)
+ - **Validation entries** pointing to off-chain logs or evaluation reports via URIs ([Composable Security][3])
+
+- **Link to data ownership**
+ For each job, our internal systems record which data portfolios and contributors were involved.
+ ERC-8004 events include references to those IDs in their evidence fields; our indexers then map agent activity to:
+ - which data assets were used
+ - which humans and agent operators should share future revenue ([Medium][4])
+
+Result: consumers can see not just “Codatta labels”, but *which* agents produced them and how those agents have behaved over time, while we preserve a precise link back to human and on-chain ownership.
+
+
+## 3. How we adopt x402
+
+We use x402 as the payment rail for Codatta APIs and agent endpoints.
+
+### Pay-per-use access
+
+Any paid Codatta endpoint (for example, “label this batch”, “score this transaction”, “fetch this dataset slice”) follows the x402 flow:
+
+1. Client calls the endpoint.
+2. If payment is required, we return `402 Payment Required` plus an x402 payment description (amount, currency, destination, expiry) ([Coinbase Developer Docs][5]).
+3. The client (human app or AI agent) pays and retries the request with the x402 authorization header.
+
+This gives us **fine-grained, per-request monetization** without separate billing systems or complex API key management.
+
+### From revenue to rewards
+
+Once a payment settles to Codatta:
+
+- We attribute the call to:
+ - the data portfolios used, and
+ - the agents and humans who contributed to them.
+- Revenue is split according to our staking and ownership rules and streamed out as **micro-payouts** to contributors and agent operators, with the remainder going to the protocol treasury ([Coinbase Developer Docs][2]).
+
+Because x402 is designed for low-friction, on-chain payments, these payouts can be frequent and small rather than batched.
+
+
+## 4. Putting it together
+
+- **ERC-8004** turns Codatta agents into **discoverable, auditable actors** with shared identity and trust signals.
+- **x402** turns each API or agent call into a **programmable payment event**, which we route back through Codatta’s ownership graph.
+
+Together, they let Codatta plug into a broader agent economy while staying true to our core promise: when your data and expertise power AI, you get a verifiable share of the upside.
+
+[1]: https://eips.ethereum.org/EIPS/eip-8004 "ERC-8004: Trustless Agents - Ethereum Improvement Proposals"
+[2]: https://docs.cdp.coinbase.com/x402/welcome "Welcome to x402 - Coinbase Developer Documentation"
+[3]: https://composable-security.com/blog/erc-8004-a-practical-explainer-for-trustless-agents/ "ERC-8004: a practical explainer for trustless agents"
+[4]: https://medium.com/%40gwrx2005/erc-8004-and-the-ethereum-ai-agent-economy-technical-economic-and-policy-analysis-3134290b24d1 "ERC-8004 and the Ethereum AI Agent Economy"
+[5]: https://docs.cdp.coinbase.com/x402/core-concepts/http-402 "HTTP 402 - Coinbase Developer Documentation"
+
+
diff --git a/en/products/data-lineage.mdx b/en/products/data-lineage.mdx
new file mode 100644
index 0000000..5256fd9
--- /dev/null
+++ b/en/products/data-lineage.mdx
@@ -0,0 +1,90 @@
+---
+title: 'Data Lineage'
+description: 'Trace the lifecycle of data: Assetification, Assembling, Adoption, and Payouts.'
+icon: 'diagram-project'
+---
+
+Codatta provides a transparent, immutable visualization of data—from its genesis as a verified asset to its inclusion in larger datasets and final economic utilization.
+
+The **Data Lineage** interface visualizes this lifecycle across four distinct stages.
+
+## Lineage Visualization
+
+The following diagram illustrates the flow of data through the four codified stages of the Codatta protocol.
+In **Stage 1**, the system accepts atomic contributions (samples or labels), builds a **Contribution Fingerprint (CF) record** for each accepted contribution, and then anchors the CF’s fingerprint on-chain.
+
+```mermaid
+graph TB
+ %% Data Lineage Flow
+
+ subgraph Stage1 [Stage 1: Assetification]
+ S1(Submit Samples or Labels) --> V1(Validate)
+ V1 --> ANCHOR{{⬢ Anchor On-Chain}}
+ end
+
+ subgraph Stage2 [Stage 2: Data Assembling]
+ ANCHOR --> M1{◆ Merge / Curate}
+ ExtAsset(Other Assets) --> M1
+ M1 --> DS(Dataset Version)
+ end
+
+ subgraph Stage3 [Stage 3: Publication & Adoption]
+ DS --> PUB[■ Publish to HuggingFace]
+ DS --> ADOPT[■ Adopted by Model X]
+ end
+
+ subgraph Stage4 [Stage 4: Payouts]
+ ADOPT -.-> PAY(● $ Payout Event)
+ PAY -..-> ANCHOR
+ end
+```
+
+## Lifecycle Stages
+
+### 1. Assetification
+
+The foundational stage where raw contributions are transformed into trusted, immutable assets. This process involves three critical steps tracked by the lineage graph:
+
+- **Submission:** Contributors initiate this stage by providing [samples](https://docs.codatta.io/en/quick-guide/fundamentals#data-basics-for-artificial-intelligence-ai) or [labels](https://docs.codatta.io/en/quick-guide/fundamentals#data-basics-for-artificial-intelligence-ai), along with relevant metadata.
+- **Screening & validation:** Codatta runs automatic pre‑scan checks including heuristic-based checks for format, policy compliance, and deduplication, plus semantic checks with AI agents. Where needed, human review is triggered. Submissions that fail at this step are rejected and **never produce a CF**.
+- **CF creation & anchoring:** For each accepted atomic contribution, the system builds a **CF commit** (canonicalizing the content hash, attaching evidence & signals, and binding contributor identity), then **anchors the CF’s fingerprint on-chain** (per‑CF or in a batched Merkle root) on the selected network.
+
+For the underlying mechanics, see:
+
+- **[Contribution Fingerprint (CF)](/core-systems/contribution-fingerprint)** – how each atomic contribution becomes a signed, anchored record.
+
+### 2. Data Assembling
+
+In this stage, individual anchored assets are curated and combined to form comprehensive datasets.
+
+- **Composition:** The lineage view visualizes how multiple atomic assets (from Stage 1) flow into a larger "Assembly."
+- **Versioning:** Assembling allows for different versions of a dataset (e.g., "Training Set v1.0") to be created from a pool of assets without altering the underlying provenance of the original contributions.
+
+For assembly rules, manifests, and versioning semantics, see **[Data Assembly](/core-concepts/data-assembly)**.
+
+### 3. Publication & Adoption
+
+Once assembled, datasets are released for utility. This stage tracks the downstream reach of the data.
+
+- **Publication:** Visualizes where the dataset has been pushed (e.g., HuggingFace, decentralized storage).
+- **Adoption:** Tracks commercial or research usage, such as a specific AI model integrating the dataset for training. This node represents the "proof of utility."
+
+For access control and usage metering, see:
+
+- **[Access Control & Metering](/core-concepts/access-control-metering)**
+- **[Storage, Compute & Serving](/core-concepts/storage-compute-serving)**
+
+### 4. Payouts
+
+The final stage closes the economic loop. When an adoption event generates revenue (e.g., a licensing fee), it is visualized as a **Payout Event**.
+
+- **Value Flow:** A connection is drawn from the Payout node back to the original **Anchored Assets**.
+- **Distribution to Backers:** Funds are distributed to the *current* ownership holders at the time of the payout snapshot.
+ - **Initial Owners:** Originally, ownership belongs to the contributors (submitters), validators, and initial stakers.
+ - **Backers:** Because fractional ownership is tradable, the current holder may differ from the original creator. The lineage view identifies these current owners as **Backers**—investors or entities who have acquired ownership rights on the open market. The system ensures rewards reach the wallet currently holding the asset fraction.
+
+For payout math, reserves, and replay guarantees, see **[Royalty Engine](/core-concepts/royalty-engine)**.
+
+## References
+
+- [Codatta datasets on Hugging Face](https://huggingface.co/Codatta/datasets)
diff --git a/en/products/overview.mdx b/en/products/overview.mdx
deleted file mode 100644
index e69de29..0000000
diff --git a/ko/changelog/2025.mdx b/ko/changelog/2025.mdx
new file mode 100644
index 0000000..154a7d1
--- /dev/null
+++ b/ko/changelog/2025.mdx
@@ -0,0 +1,847 @@
+---
+title: "변경 로그"
+description: "이 변경 로그는 2025년 Codatta의 모든 업데이트, 수정 및 새로운 기능을 문서화합니다."
+---
+
+import { useState, useEffect } from 'react';
+
+
+
+
+
+
+
+ {(() => {
+ const ShowResult = () => {
+ const [num, setNum] = useState(0);
+ useEffect(() => {
+ if (typeof document === 'undefined') return;
+ const update = () => {
+ try {
+ const items = document.querySelectorAll('.changelog-item');
+ let count = 0;
+ items.forEach(item => {
+ if (item.style.display !== 'none') count++;
+ });
+ setNum(count);
+ } catch {}
+ };
+ update();
+ const id = setInterval(update, 2000);
+ return () => clearInterval(id);
+ }, []);
+ return (
+
+
+ {num}
+ 개 결과
+
+ );
+ };
+ return
;
+ })()}
+
+
+
+## 2025년 12월 04일
+
+---
+**진화하는 인센티브: 장기 생태계 관리를 위한 보상 잠금 기능**
+
+
+
+
+
+고인센티브 작업(예: Airdrop 또는 Frontier 캠페인)에서의 보상을 위한 선택적 잠금 기능입니다.
+
+- **트리거:** 캠페인 후 보상이 귀하의 잔액에 입금됩니다.
+- **잠금:** 자산 페이지를 통해 스마트 계약에 보상을 잠금으로써 안전하게 보호합니다.
+- **해제:** 잠금 기간이 끝난 후, 한 번의 클릭으로 보상을 지갑으로 직접 청구할 수 있습니다.
+
+이는 우리의 인센티브 시스템을 세분화된 관리로 발전시키는 중요한 단계입니다. 이는 고보상 시나리오에서 유동성을 관리할 수 있는 도구를 제공하여 단기 참여와 생태계의 장기 건강을 균형 있게 유지합니다.
+
+
+
+
+
+## 2025년 11월 24일
+---
+**캠페인 시작: Airdrop 시즌 2**
+
+
+
+
+
+물리학, 금융 및 다중 모드 분야에서 학술 수준의 데이터셋을 체계적으로 수집하고, 세 개의 새로운 Frontier를 위한 고품질 데이터 파이프라인을 구축합니다.
+
+- **행동:** 100만 $XNY 상금 풀로 Airdrop 시즌 2를 시작했습니다(3개월 선형 분배).
+- **새로운 Frontier:**
+ - **고급 물리학 문제:** 현재 AI가 올바르게 답변할 수 없는 고난이도 물리학 문제를 제출하기 위한 도메인 전문가를 위한 것입니다.
+ - **암호화폐 및 주식 정보:** AI에 암호화폐 및 주식 투자 결정과 관련된 신뢰할 수 있는 정보를 제공합니다.
+ - **실제 사진:** 주석이 달린 메타데이터를 포함한 실제 사진을 AI에 제공합니다.
+- **보상 구조:** 작업 완료에 대해 90%, 리더보드 순위에 대해 10%를 지급합니다.
+- **일정:** 2025년 11월 24일 09:00 UTC – 2025년 12월 08일 09:00 UTC.
+
+
+
+
+
+## 2025년 11월 05일
+---
+**계정 시스템 업그레이드: DID 공식 출시**
+
+
+
+
+
+탈중앙화 식별자(DID)에 계정을 바인딩할 수 있는 기본 업그레이드입니다.
+
+- **바인딩:** Codatta에 다음 로그인 시 온체인 DID의 셀프 서비스 통합이 가능합니다.
+- **연관:** 바인딩된 DID는 모든 작업 행동, 데이터 기여 및 보상 분배를 체계적으로 인덱싱하는 통합 기본 키 역할을 합니다.
+- **계보:** 온체인 및 오프체인 활동의 완전한 추적 가능성과 검증을 가능하게 하여 불변의 데이터 출처를 확립합니다.
+
+이 배포는 검증 가능한 데이터 경제를 위한 기술적 초석을 마련합니다. 각 기여자에게 지속적이고 고유한 디지털 정체성을 제공함으로써 세분화된 기여 귀속, 명확한 소유권 검증 및 프로토콜 수준에서의 투명한 인센티브 할당을 가능하게 합니다.
+
+
+
+
+
+## 2025년 11월 03일
+---
+**퀘스트 시스템 조정: Crypto Frontier QUEST 모듈 서비스 종료**
+
+
+
+
+
+전체 Crypto Frontier QUEST 모듈과 모든 관련 작업(제출, 검증 및 보상 사냥 포함)이 오프라인 상태로 전환되었습니다.
+
+- **이유:** 이 모듈은 현재 제품 로드맵에 따라 계획된 생애 주기를 완료했습니다. 서비스 종료는 시스템 간소화 및 향후 기능 출시를 위한 자원 재조정을 지원합니다.
+- **참고:** 사용자의 과거 기여 기록과 이 모듈에서 얻은 보상은 그대로 유지됩니다. 이 변경으로 인해 다른 Frontier 모듈에는 영향을 미치지 않습니다.
+
+
+
+
+
+## 2025년 10월 24일
+---
+**Frontier 시스템 조정: Robotics Frontier 서비스 종료**
+
+
+
+
+
+Robotics Frontier가 공식적으로 서비스 종료되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 과거 기여 데이터는 그대로 유지되며 접근 가능합니다.
+
+- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 Frontier에 집중하기 위한 지속적인 제품 간소화의 일환입니다. Robotics Frontier는 계획된 탐색 단계를 완료하였으며, 서비스 종료를 통해 노력을 통합할 수 있습니다.
+- **참고:** 사용자의 과거 기여 및 Robotics Frontier에서의 보상은 보존되며 기여 기록에서 검토할 수 있습니다. 다른 Frontier나 플랫폼 기능에는 영향을 미치지 않습니다.
+
+
+
+
+
+## 2025년 10월 23일
+---
+**스팸 방지 강화: 일일 제출 한도 구현**
+
+
+
+
+
+작업 스팸을 방지하기 위한 새로운 플랫폼 전반의 보안 정책입니다.
+
+- **방법:** 각 작업에 대해 구성 가능한 일일 제출 한도를 시행합니다.
+- **이유:** 시스템 자원을 보호하고 모든 기여자에게 공정한 참여를 보장하며 작업 생태계의 장기적인 건강과 공정성을 유지하기 위해서입니다.
+
+
+
+
+
+## 2025년 10월 20일
+---
+**Frontier 시스템 조정: Crypto Frontier 서비스 종료**
+
+
+
+
+
+Crypto Frontier가 공식적으로 서비스 종료되었습니다. 이 조치는 프론트엔드 진입점에만 영향을 미칩니다. 모든 과거 기여 데이터는 그대로 유지되며 접근 가능합니다.
+
+- **이유:** 이 결정은 자원과 사용자 주의를 가장 우선 순위가 높은 활성 Frontier에 집중하기 위한 지속적인 제품 간소화의 일환입니다. Crypto Frontier는 계획된 탐색 단계를 완료하였으며, 서비스 종료를 통해 노력을 통합할 수 있습니다.
+- **참고:** 사용자의 과거 기여 및 Crypto Frontier에서의 보상은 보존되며 기여 기록에서 검토할 수 있습니다. 다른 Frontier나 플랫폼 기능에는 영향을 미치지 않습니다.
+
+
+
+
+
+## 2025년 10월 15일
+---
+**시스템 거버넌스: 플랫폼 블랙리스트 제어 구현**
+
+
+
+
+
+플랫폼에 새로운 블랙리스트 제어 기능이 구현되었습니다.
+
+- **방법:** 지정된 관리자가 이제 악의적인 계정을 제한하기 위해 블랙리스트 규칙을 적용할 수 있습니다.
+- **이유:** 플랫폼 보안을 강화하고 기여자의 이익을 보호하며 생태계의 공정성을 유지하기 위해서입니다.
+
+
+
+
+
+## 2025년 10월 13일
+---
+**캠페인 시작: Airdrop 시즌 1**
+
+
+
+
+
+고보상 메커니즘과 스팸 방지 시행을 통해 고품질의 구조화된 데이터를 체계적으로 수집하고, 유효성과 학술 가치를 보장하며, 장기 기여자에게 보상하고 플랫폼의 데이터 생태계를 다각화하기 위해 다섯 개의 새로운 Frontier 모듈을 도입합니다.
+
+- **행동:** 250만 $XNY 상금 풀과 포인트 보상으로 Airdrop 시즌 1을 시작했습니다.
+- **새로운 Frontier:**
+ - **모델 비교:** 다양한 AI 모델 간의 성능 지표와 비즈니스 결과를 비교하여 최적의 솔루션이나 하이브리드 솔루션을 식별합니다.
+ - **LLM의 실수 발견:** LLM 출력에서의 추론, 사실 및 논리적 오류를 식별하여 모델 최적화를 지원합니다.
+ - **LLM의 실수 수정:** LLM이 실수에서 학습하고 자기 수정 및 추론을 개선할 수 있도록 교정 데이터를 수집합니다.
+ - **식품 과학:** 식품 과학 및 영양 기능에 대한 연구 데이터를 수집하여 이 분야의 혁신을 촉진합니다.
+ - **Lifelog Canvas:** 개인 행동 및 건강 관련 데이터를 추적하고 기록하여 행동 및 관련 연구를 지원합니다.
+- **보상 구조:** 보상은 제출 평가에 따라 순위가 매겨지고 캠페인 후 분배됩니다. 악의적인 제출은 데이터 품질을 보장하기 위해 처벌됩니다.
+- **일정:** 2025년 10월 13일 09:00 UTC - 2025년 10월 27일 09:00 UTC.
+
+
+
+
+
+## 2025년 10월 10일
+---
+**기능 출시: Frontier별 보상 활동**
+
+
+
+
+
+Frontier를 위한 구성 가능한 보상 활동이 이제 제공되어 추가적인 고부가가치 인센티브를 제공합니다.
+
+- **방법:** 선택된 Frontier 작업은 기본 포인트와는 독립적으로 $XNY 또는 USDT로 추가 보상을 제공합니다. 활동 매개변수(보상 금액, 기간, 목표)는 각 Frontier에 따라 설정되며 해당 홈페이지에 표시됩니다.
+- **이유:** 목표 지향적인 인센티브를 통해 고부가가치 데이터 작업에 대한 참여를 촉진하고, 데이터 품질과 생태계 참여를 개선하기 위함입니다.
+
+
+
+
+
+## 2025년 09월 26일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 3 4주차**
+
+
+
+
+
+신뢰할 수 있는 다중 도메인 데이터 수집을 통해 AI 개발을 가속화하고, 커뮤니티 주도의 분산형 AI 지식 구축을 촉진합니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 09월 26일 07:00 UTC – 2025년 10월 03일 07:00 UTC.
+
+
+
+
+
+## 2025년 09월 12일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 3 3주차**
+
+
+
+
+
+AI 훈련 및 검증을 위해 생명, 로봇공학, 암호화폐, 모델 비교 및 지문 검증에 걸친 교차 도메인 데이터를 수집합니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 09월 12일 07:00 UTC – 2025년 09월 19일 07:00 UTC.
+
+
+
+
+
+## 2025년 09월 05일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 3 2주차**
+
+
+
+
+
+AI 훈련 및 검증을 위해 생명, 로봇공학 및 암호화폐에 걸친 교차 도메인 데이터를 수집하고 주석을 달기 위해 진행됩니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 09월 05일 07:00 UTC – 2025년 09월 12일 07:00 UTC.
+
+
+
+
+
+## 2025년 08월 28일
+---
+**기능 출시: 사용자 데이터 프로필**
+
+
+
+
+
+사용자 정보 모듈 내에 새로운 데이터 프로필 기능을 도입합니다.
+
+- **방법:** 사용자 정보 > 데이터 프로필을 통해 총 제출 수, 획득한 보상 및 기여 통계를 시각적 대시보드에서 확인할 수 있습니다.
+- **이유:** 기여에 대한 투명성을 제공하고, 가시적인 진행 추적을 통해 참여를 강화하며, 장기적인 참여를 지원하기 위함입니다.
+
+
+
+
+
+## 2025년 08월 22일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 3 1주차**
+
+
+
+
+
+분산형 AI 훈련을 위해 생명, 로봇공학 및 암호화폐에 걸친 교차 도메인 주석 데이터의 기초를 마련합니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 08월 22일 07:00 UTC – 2025년 08월 29일 07:00 UTC.
+
+
+
+
+
+## 2025년 08월 15일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 2 4주차**
+
+
+
+
+
+분산형 AI 훈련을 위해 음식 AI, 로봇 상호작용 및 CEX 온체인 데이터에 대한 도메인별 데이터 세트를 체계적으로 주석 달고 확장합니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 08월 15일 07:00 UTC – 2025년 08월 22일 07:00 UTC.
+
+
+
+
+
+## 2025년 08월 08일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 2 3주차**
+
+
+
+
+
+프로젝트 학습, 음식 AI 판단, 로봇 주석 및 CEX 데이터 확장을 포함한 네 가지 주요 영역에서 체계적으로 주석이 달린 데이터를 수집합니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 08월 08일 07:00 UTC – 2025년 08월 15일 07:00 UTC.
+
+
+
+
+
+## 2025년 08월 01일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 2 2주차**
+
+
+
+
+
+AI 음식 모델 비교, 로봇 상호작용 주석 및 CEX 핫 월렛 데이터 라벨링을 포함한 세 가지 핵심 도메인에서 주석이 달린 데이터를 수집합니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 08월 01일 07:00 UTC – 2025년 08월 08일 07:00 UTC.
+
+
+
+
+
+## 2025년 07월 24일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 2 1주차**
+
+
+
+
+
+주석이 달린 실제 상호작용 데이터를 통해 AI 음식 분석을 검증하고 로봇 훈련을 향상시킵니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY(잠금 기간 포함), 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 07월 24일 07:00 UTC – 2025년 07월 31일 07:00 UTC.
+
+
+
+
+
+## 2025년 07월 16일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 1 4주차**
+
+
+
+
+
+무게, 조리 방법 및 칼로리 함량을 포함한 풍부한 주석을 수집하여 AI의 음식 이해를 심화합니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY, 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 07월 16일 13:00 UTC – 2025년 07월 23일 13:00 UTC.
+
+
+
+
+
+## 2025년 07월 09일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 1 3주차**
+
+
+
+
+
+문화적 및 맥락적 관련성을 넘어 단순한 라벨을 넘어서는 즉석 식품의 주석이 달린 이미지를 수집하여 AI에게 인간의 식습관에 대한 미세한 이해를 가르칩니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능(Alpha Points ≥ 61 필요).
+- **보상:** 총 보상 풀 50,000,000 $XNY, 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 07월 09일 13:00 UTC – 2025년 07월 16일 13:00 UTC.
+
+
+
+
+
+## 2025년 07월 07일
+---
+**기능 최적화: 퀘스트 시스템 복원**
+
+
+
+
+
+퀘스트 시스템이 완전히 복원되어 재개되었습니다.
+
+- **방법:** 2025년 06월 30일에 일시적으로 오프라인 상태였으며, 현재 포괄적으로 복원되었습니다.
+- **이유:** 아키텍처 업그레이드를 통해 시스템 안정성과 사용자 경험을 향상시키기 위함입니다.
+
+
+
+
+
+## 2025년 07월 02일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 1 2주차**
+
+
+
+
+
+채식, 비채식 및 혼합 카테고리 전반에 걸쳐 세밀한 이미지 라벨링을 통해 AI의 글로벌 음식 문화 및 선호도 이해를 확장하기 위함입니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha Points ≥ 61).
+- **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 07월 02일 13:00 UTC – 2025년 07월 09일 13:00 UTC.
+
+
+
+
+
+## 2025년 06월 25일
+---
+**캠페인 시작: Codatta Booster 캠페인 시즌 1 1주차**
+
+
+
+
+
+주석이 달린 음식 데이터를 수집하고, 퀴즈를 통해 커뮤니티 지식을 활용하며, 다단계 인센티브 구조를 통해 참여를 보상함으로써 첫 번째 시즌을 시작하기 위함입니다.
+
+- **접근:** Binance Wallet Booster 탭 또는 홈페이지 배너를 통해 접근 가능 (Alpha Points ≥ 61).
+- **보상:** 총 50,000,000 $XNY의 보상 풀, 작업 완료 및 검증 후 분배됩니다.
+- **일정:** 2025년 06월 25일 13:00 UTC – 2025년 07월 02일 13:00 UTC.
+
+
{/* Component definitions - moved to end of file for cleaner code organization */}
+export const ChangelogFilter = () => {
+ const [activeFilter, setActiveFilter] = useState('all');
+ const [isOpen, setIsOpen] = useState(false);
+ const [isMenuHovered, setIsMenuHovered] = useState(false);
+
+ useEffect(() => {
+ window.activeTypeFilter = activeFilter;
+ }, [activeFilter]);
+
+ useEffect(() => {
+ const items = document.querySelectorAll('.changelog-item');
+ const activeMonth = window.activeMonthFilter || 'all';
+
+ items.forEach((item) => {
+ const itemType = item.getAttribute('data-type');
+ const itemMonth = item.getAttribute('data-month');
+
+ const typeMatch = activeFilter === 'all' || itemType === activeFilter;
+ const monthMatch = activeMonth === 'all' || itemMonth === activeMonth;
+
+ item.style.display = typeMatch && monthMatch ? '' : 'none';
+ });
+ }, [activeFilter]);
+
+ const filterTypes = [
+ { id: 'all', label: '전체', color: '#6b7280', count: 24 },
+ { id: 'core-feature', label: '핵심 기능 출시', color: '#16A34A', count: 4 },
+ { id: 'optimization', label: '조정 및 최적화', color: '#F59E0B', count: 3 },
+ { id: 'fixes', label: '수정 및 기능 종료', color: '#EF4444', count: 3 },
+ { id: 'campaign', label: '캠페인 시작', color: '#A855F7', count: 14 }
+ ];
+
+ const activeType = filterTypes.find(type => type.id === activeFilter) || filterTypes[0];
+
+ return (
+
+
setIsOpen(!isOpen)}
+ style={{
+ display: 'inline-flex',
+ alignItems: 'center',
+ gap: '0.5rem',
+ padding: '0.625rem 1rem',
+ border: '2px solid #e5e7eb',
+ borderRadius: '0.5rem',
+ background: 'white',
+ cursor: 'pointer',
+ fontSize: '0.875rem',
+ fontWeight: '500',
+ boxShadow: isOpen ? `0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)` : '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
+ transition: 'all 0.2s ease',
+ userSelect: 'none',
+ minWidth: '200px'
+ }}
+ >
+
+
+ {activeType.label} ({activeType.count})
+
+
+
+
+ {isOpen && (
+
setIsMenuHovered(true)}
+ onMouseLeave={() => setIsMenuHovered(false)}
+ style={{
+ position: 'absolute',
+ top: '100%',
+ left: 0,
+ marginTop: '0.5rem',
+ backgroundColor: 'white',
+ border: `2px solid ${isMenuHovered ? '#9ca3af' : '#e5e7eb'}`,
+ borderRadius: '0.5rem',
+ boxShadow: isMenuHovered
+ ? '0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1)'
+ : '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
+ zIndex: 1000,
+ minWidth: '280px',
+ overflow: 'hidden',
+ transition: 'border-color 0.2s ease, box-shadow 0.2s ease'
+ }}
+ >
+ {filterTypes.map((type) => (
+
{
+ setActiveFilter(type.id);
+ setIsOpen(false);
+ }}
+ style={{
+ padding: '0.75rem 1rem',
+ cursor: 'pointer',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ borderBottom: type.id !== filterTypes[filterTypes.length - 1].id ? '1px solid #f3f4f6' : 'none',
+ backgroundColor: activeFilter === type.id ? '#f9fafb' : 'white',
+ transition: 'background-color 0.15s ease'
+ }}
+ onMouseEnter={(e) => {
+ if (activeFilter !== type.id) {
+ e.currentTarget.style.backgroundColor = '#f3f4f6';
+ }
+ }}
+ onMouseLeave={(e) => {
+ if (activeFilter !== type.id) {
+ e.currentTarget.style.backgroundColor = 'white';
+ }
+ }}
+ >
+
+ {type.label}
+
+
+ {type.count}
+
+
+ ))}
+
+ )}
+
+ {isOpen && (
+
setIsOpen(false)}
+ style={{
+ position: 'fixed',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ zIndex: 999,
+ backgroundColor: 'transparent'
+ }}
+ />
+ )}
+
+ );
+};
+
+export const MonthFilter = () => {
+ const [activeMonth, setActiveMonth] = useState('all');
+ const [isOpen, setIsOpen] = useState(false);
+ const [isMenuHovered, setIsMenuHovered] = useState(false);
+
+ useEffect(() => {
+ window.activeMonthFilter = activeMonth;
+ const event = new Event('monthFilterChange');
+ window.dispatchEvent(event);
+ }, [activeMonth]);
+
+ useEffect(() => {
+ const handleMonthChange = () => {
+ const items = document.querySelectorAll('.changelog-item');
+ const activeType = window.activeTypeFilter || 'all';
+
+ items.forEach((item) => {
+ const itemType = item.getAttribute('data-type');
+ const itemMonth = item.getAttribute('data-month');
+
+ const typeMatch = activeType === 'all' || itemType === activeType;
+ const monthMatch = activeMonth === 'all' || itemMonth === activeMonth;
+
+ item.style.display = typeMatch && monthMatch ? '' : 'none';
+ });
+ };
+
+ window.addEventListener('monthFilterChange', handleMonthChange);
+ handleMonthChange();
+
+ return () => {
+ window.removeEventListener('monthFilterChange', handleMonthChange);
+ };
+ }, [activeMonth]);
+
+ const months = [
+ { id: 'all', label: '전체', count: 24 },
+ { id: 'dec', label: '12월', count: 1 },
+ { id: 'nov', label: '11월', count: 3 },
+ { id: 'oct', label: '10월', count: 6 },
+ { id: 'sep', label: '9월', count: 3 },
+ { id: 'aug', label: '8월', count: 5 },
+ { id: 'jul', label: '7월', count: 5 },
+ { id: 'jun', label: '6월', count: 1 }
+ ];
+
+ const activeMonthData = months.find(month => month.id === activeMonth) || months[0];
+
+ return (
+
+
setIsOpen(!isOpen)}
+ style={{
+ display: 'inline-flex',
+ alignItems: 'center',
+ gap: '0.5rem',
+ padding: '0.625rem 1rem',
+ border: '2px solid #e5e7eb',
+ borderRadius: '0.5rem',
+ background: 'white',
+ cursor: 'pointer',
+ fontSize: '0.875rem',
+ fontWeight: '500',
+ boxShadow: isOpen ? `0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)` : '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
+ transition: 'all 0.2s ease',
+ userSelect: 'none',
+ minWidth: '200px'
+ }}
+ >
+
+ {activeMonthData.label} ({activeMonthData.count})
+
+
+
+
+ {isOpen && (
+
setIsMenuHovered(true)}
+ onMouseLeave={() => setIsMenuHovered(false)}
+ style={{
+ position: 'absolute',
+ top: '100%',
+ left: 0,
+ marginTop: '0.5rem',
+ backgroundColor: 'white',
+ border: `2px solid ${isMenuHovered ? '#9ca3af' : '#e5e7eb'}`,
+ borderRadius: '0.5rem',
+ boxShadow: isMenuHovered
+ ? '0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1)'
+ : '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
+ zIndex: 1000,
+ minWidth: '280px',
+ overflow: 'hidden',
+ transition: 'border-color 0.2s ease, box-shadow 0.2s ease'
+ }}
+ >
+ {months.map((month) => (
+
{
+ setActiveMonth(month.id);
+ setIsOpen(false);
+ }}
+ style={{
+ padding: '0.75rem 1rem',
+ cursor: 'pointer',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ borderBottom: month.id !== months[months.length - 1].id ? '1px solid #f3f4f6' : 'none',
+ backgroundColor: activeMonth === month.id ? '#f9fafb' : 'white',
+ transition: 'background-color 0.15s ease'
+ }}
+ onMouseEnter={(e) => {
+ if (activeMonth !== month.id) {
+ e.currentTarget.style.backgroundColor = '#f3f4f6';
+ }
+ }}
+ onMouseLeave={(e) => {
+ if (activeMonth !== month.id) {
+ e.currentTarget.style.backgroundColor = 'white';
+ }
+ }}
+ >
+
+ {month.label}
+
+
+ {month.count}
+
+
+ ))}
+
+ )}
+
+ {isOpen && (
+
setIsOpen(false)}
+ style={{
+ position: 'fixed',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ zIndex: 999,
+ backgroundColor: 'transparent'
+ }}
+ />
+ )}
+
+ );
+};
diff --git a/ko/community/history.mdx b/ko/community/history.mdx
index 67c1284..bc16594 100644
--- a/ko/community/history.mdx
+++ b/ko/community/history.mdx
@@ -3,8 +3,12 @@ title: "히스토리 (History)"
---
+
+ “Forge” 연도를 실행: 하이브리드 프로토콜을 프로덕션에서 end-to-end로 작동(온체인 앵커링 -> CF 자산화); 액세스 제어·계량 및 결정적 로열티는 파일럿 & PoV(Proof of Value)로 검증; 팟과 유용한 에이전트를 확장하고, 요청당 과금 기반의 분배를 활성화; 마일스톤 상세는 [로드맵](/ko/community/roadmap) 참고.
+
+
- `$XNY` TGE(2025년 7월 23일) 및 상장 라이브; 1st Binance Booster Campaign으로서 메인넷/커뮤니티 참여를 활성화; 기여자가 지속 로열티를 받는 상용 데이터셋/API 출시.
+ `$XNY` TGE(2025년 7월 23일) 이후 메이저 거래소에서 광범위 유통(예: Binance, Kraken, Bybit 등); Binance Booster 프로그램(Codatta 최초 프로젝트)에 특별 감사—초기 분배와 주목도를 확보; **KYC 완료 사용자 100만+** 달성(엔터프라이즈급 데이터의 실제 출발선); 분배 모멘텀을 “빈 지표”가 아닌 기여자 모집·트레이닝에 활용; 기여자가 지속 로열티를 받는 상용 데이터셋/API 출시.
@@ -26,6 +30,7 @@ title: "히스토리 (History)"
* **Codatta Medium** — “From Fragmented Labels to Shared Knowledge”(CAA 하 ~5억 개 계정 주석 회고). ([Medium][4])
* **Binance** — Codatta Booster Campaign 공지. ([Binance][5])
* **Codatta X(Twitter)** — TGE 일자(2025‑07‑23) 및 Booster 진행 포스트. ([X(구 Twitter)][6])
+* **Codatta Docs** — 커뮤니티 로드맵(2026–2028). ([Roadmap][9])
* **Avalanche** — infraBUIDL(AI) 프로그램(그랜트 프레임워크) 및 Codatta 선정 관련 서드파티 노트. ([Avalanche Builder Hub][8])
[1]: https://www.coinbase.com/blog/microscope-protocol-for-collaboratively-labeling-crypto-addresses?utm_source=chatgpt.com "Microscope: Protocol for Collaboratively Labeling Crypto ..."
@@ -36,5 +41,6 @@ title: "히스토리 (History)"
[6]: https://x.com/codatta_io/status/1947668869671489793?utm_source=chatgpt.com "Codatta - TGE 23 July"
[7]: https://coinmarketcap.com/currencies/codatta/?utm_source=chatgpt.com "Codatta price today, XNY to USD live ..."
[8]: https://build.avax.network/grants/infrabuidlai?utm_source=chatgpt.com "Avalanche infraBUIDL(AI) Program"
+[9]: /ko/community/roadmap "Codatta 커뮤니티 로드맵(2026–2028)"
diff --git a/ko/community/roadmap.mdx b/ko/community/roadmap.mdx
index a12c85d..7a5a50f 100644
--- a/ko/community/roadmap.mdx
+++ b/ko/community/roadmap.mdx
@@ -1,17 +1,109 @@
---
title: "로드맵 (Roadmap)"
+description: "3년 구축 계획"
---
-## Codatta 커뮤니티 로드맵 (2025-2028)
+## Codatta 커뮤니티 로드맵 (2026–2028)
+
+이 로드맵은 향후 3년의 실행 우선순위를 정리합니다. 하이브리드 프로토콜을 프로덕션에서 end-to-end로 작동시키는 것부터, 핵심 루프의 분산화, 그리고 지식 경제의 백본으로 확장하는 과정까지를 담습니다.
+
+**용어:** **CF** = Contribution Fingerprint; **TNPL** = Train‑Now‑Pay‑Later.
+
+### 요약
+
+- **2026 — Forge**: 하이브리드 프로토콜의 end-to-end 루프를 프로덕션에서 완성하고, 실제 비즈니스에 연결합니다.
+- **2027 — Mesh**: 핵심 루프를 분산화하고, 체인/운영자/에이전트 생태계 전반에서 상호운용되게 만듭니다.
+- **2028 — Nexus**: 감사 가능한 end-to-end 온체인 계보, 온체인 TNPL, 자율적 진화를 통해 지식 경제 백본으로 자리잡습니다.
+
+---
+
+## 2026 — **Forge**
+
+하이브리드 프로토콜을 *end-to-end로 작동*시키고, 실제 비즈니스에 플러그인합니다.
+
+### 핵심 마일스톤
+
+**프로토콜 성숙도**
+
+* **자산화 → CF 생성 → 온체인 앵커링**을 출하합니다: 자동 스크리닝(휴리스틱 + 에이전트 시맨틱 체크)과 필요 시 배치 Merkle 앵커링을 포함합니다. ([데이터 계보](/ko/products/data-lineage))
+* **하이브리드 딜리버리 스택**을 프로덕션화합니다: 탈중앙 소스오브트루스 + 클라우드 핫패스 + 보안 컴퓨트(스택은 추후 선택)를 Access Gateway 뒤에서 제공합니다. ([스토리지·컴퓨트·서빙](/ko/core-systems/storage-compute-serving))
+* **액세스 제어와 계량**을 프로덕션화합니다: 버전 관리되는 접근 정책, 의무사항(예: 마스킹/샘플링), 그리고 과금/로열티를 위한 서명된 사용 이벤트(TNPL 지원). ([액세스 제어와 계량](/ko/core-systems/access-control-metering))
+* **어트리뷰션 + 트래킹 플랫폼**을 구축합니다(완전 온체인일 필요 없음): 빠른 계보 조회(검색/디프/익스포트), 배치 액세스, 추론/사용 트래킹으로 풀 사이클 어트리뷰션을 재현 가능하게 합니다. ([데이터 조립](/ko/core-systems/data-assembly))
+* **소유권 + 로열티**를 출하합니다: 분할 소유권 증명/영수증, 스냅샷 해시, 챌린지 윈도우; Royalty Engine의 결정적 분배(기본은 스테이블코인). ([토큰화된 소유권 증명](/ko/core-systems/tokenized-ownership-proofs))
+* **$XNY 유틸리티**를 실제 프로덕션 경로에 넣습니다: 가스, 태스크 런치 디파짓, 계량 기반 접근, 소유권 거래; 구매자 마찰을 줄이기 위해 분배는 유연하게(스테이블코인 + 메이저) 유지합니다. ([토큰 유틸리티](/ko/protocol-token/token-utility))
+* **포트폴리오 패키징, 분할 모듈, SDK(0.x 파일럿)**의 기반을 마련하고, 선별된 스타트업 파트너와 파일럿을 진행합니다.
+
+**휴먼 + 에이전트 네트워크**
+
+* **아이덴티티 래더 + 탤런트 인덱스**(DID 아이덴티티, 어테스테이션, 검증 네트워크)를 롤아웃해 전문가 트랙과 신뢰 가능한 탤런트 디스커버리를 가능하게 합니다—프라이버시는 과도하게 노출하지 않습니다. ([아이덴티티](/ko/core-systems/identity))
+* 온보딩, QA 문화, 로컬 그로스 루프의 운영 레이어로서 기여자 **팟을 10+ 핵심 지역**으로 확장합니다.
+* **에이전트를 프로덕션에서 유용하게** 만듭니다(프리라벨링, 트리아지, 밸리데이션). 이후 “1급 참여자”가 될 수 있도록 적절한 증거 트레일을 배출하기 시작합니다. ([ERC‑8004 + x402](/ko/ecosystem-integration/adopting-erc-8004-x402-essentials))
+
+**자산 경제 & GTM**
+
+* **데이터 계보**를 기본 스토리 UI로 론치합니다: 자산화 → 조립 → 채택 → 분배; 채택을 실제 분배 이벤트와 연결합니다. ([데이터 계보](/ko/products/data-lineage))
+* API 및 에이전트 엔드포인트에 **요청당 과금**(x402)을 활성화해, 계량 → 분배 라우팅이 “붙이는 기능”이 아니라 네이티브가 되게 합니다. ([ERC‑8004 + x402](/ko/ecosystem-integration/adopting-erc-8004-x402-essentials))
+
+**가능해진 유스케이스**
+
+스타트업이 Codatta 엔드포인트를 호출하면 `402`를 받고, 한 번 결제한 뒤 재시도합니다. 요청은 계량되고 데이터셋 버전에 묶이며, 허용한 정책과 함께 로그에 남습니다. 몇 달 뒤 제품 매출이 들어오면, Royalty Engine은 동일한 이벤트를 재생해 기여자·검증자·백커에게 정확히 분배합니다—논쟁 없이.
+
+---
+
+## 2027 — **Mesh**
+
+핵심 루프를 분산화하고, 체인/운영자/에이전트 생태계 전반에서 상호운용되게 만듭니다.
+
+### 핵심 마일스톤
+
+**프로토콜 성숙도**
+
+* **프로토콜 v2**를 출하합니다: 모듈형 + 크로스체인 + 운영자 분산화 + 온체인 거버넌스/금고.
+* **데이터셋 + 소유권 마켓플레이스**를 구축/테스트합니다(폴리시 게이팅): 리스팅, 번들, 전송, 소유권 지분—실수요가 형성되도록 합니다. ([소유권, 로열티 및 유동성](/ko/business/ownership-liquidity))
+* **거버넌스 파일럿**을 실제 노브로 돌립니다(마켓 룰, 로열티 밴드, 스플릿 템플릿, 액세스 룰, 스테이킹 파라미터, 태스크 런치 디파짓 사이징). ([거버넌스와 금고](/ko/business/governance-treasury))
+* 프라이버시를 한 단계 끌어올립니다: 기본은 **선택적 공개**; 규제 수요를 여는 곳에서 **익명 자격증명/ZK**를 파일럿합니다. ([아이덴티티](/ko/core-systems/identity))
+
+**휴먼 + 에이전트 네트워크**
+
+* 팟을 **DAO/서브DAO 역할**로 전환합니다(로컬 제안 + 감독, 연합형 코디네이션).
+* **ERC‑8004 아이덴티티/평판/밸리데이션 레지스트리**로 에이전트를 진정한 1급 참여자로 만들고, 그 작업을 소유권/로열티에 매핑합니다. ([ERC‑8004 + x402](/ko/ecosystem-integration/adopting-erc-8004-x402-essentials))
+
+**자산 경제 & GTM**
+
+* **데이터셋 + 소유권 마켓플레이스**를 론치합니다(여전히 폴리시 게이팅): 리스팅, 번들, 2차 시장을 적절히 사용; 리스팅/정산에는 $XNY, 분배에는 스테이블코인. ([소유권, 로열티 및 유동성](/ko/business/ownership-liquidity))
+* “플러그인 백엔드” 디스트리뷰션을 강화합니다: API + 온체인 훅 + 아이덴티티 어댑터로 기존 플랫폼이 리플랫폼 없이 Codatta를 채택하게 합니다. ([거버넌스와 금고](/ko/business/governance-treasury))
+* **포트폴리오 패키징, 분할 모듈, SDK**를 프로덕션으로 끌어올려, 스타트업 스케일의 패키징 기여와 매출 공유 엔타이틀먼트를 지원합니다.
+
+**가능해진 유스케이스**
+
+서울의 연구 그룹과 두바이의 엔터프라이즈 팀이 로컬 팟을 통해 같은 토픽에 기여합니다. 실체로 등록되고 스코어링되는 KYB‑트리아지 에이전트가 큐를 프리라벨링하고, 전문가 인간이 엣지 케이스를 확정합니다. 유동성이 형성되기 시작합니다: 백커가 성과 좋은 에셋 번들의 일부 지분을 매수하고, 스냅샷 시점의 보유자에게 분배가 흐릅니다.
---
-| 단계 | 목표 & 핵심 딜리버러블(프로덕트 롤아웃 포함) | 커뮤니티 참여 / 팟(Pod) 전략 | 핵심 프로토콜 지표 |
-| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| **2025 – 자산화 & 로열티 준비** | 레지스트리, 신뢰로서의 스테이킹, 평판, 분배 레일 론치; API/SDK 파일럿; 50–100개 토픽 롤아웃 | 주요 지역의 지역 클럽(팟) 킥오프: 온보딩/피어 지원/로컬 캠페인 운영 | 활성 토픽 수; 로열티 분배량; 데이터/기여자 스테이킹 총액; 평균 신뢰 점수; 활성 데이터 접근 호출 수 |
-| **2026 – 참여 스케일 & 비즈니스 통합** | 포트폴리오 패키징 & 분수형 데이터 자산 모듈 배포; SDK v2; 비즈니스 클라이언트/소비 API 온보딩 | 팟 네트워크 확장(20+ 지역); 팟 리드 양성; 로컬 이벤트/스프린트/해커톤 운영 | 기여자에게 흐르는 매출 비중; 생성/거래된 포트폴리오 수; 데이터 사용/요청량; 고신뢰 데이터 유지율; 질의 레이턴시/응답 시간 |
-| **2027 – 분산화 & 상호운용성** | 프로토콜 v3: 모듈형·크로스체인 인프라, 운영자 분산화, 온체인 거버넌스/금고 | 팟을 로컬 DAO/서브DAO 역할로 전환; 팟 제안/감사 활성화; 연합형 팟 조정 | 거버넌스 분산도(예: 비재단 표 수, 나카모토 계수); 독립 운영자 수; 크로스체인 처리량; 거버넌스 제안 수; 프로토콜 가용성 |
-| **2028 – 지식 경제 백본** | 프로토콜 v4: 자율 업그레이드, 데이터 마켓 성숙, AI‑에이전트 통합, 기관 포트폴리오 론치 | 팟의 생태계 거버넌스 완전 통합; 팟 서브거버넌스(토픽 포크, 큐레이터 선출); 글로벌 팟 협업 | 총 토픽 수; 기여자 수; 프로토콜 ARR; 기여자당 평균 로열티; AI 통합 수; 온체인 업그레이드 빈도; 체인 간 프로토콜 조합성 |
+## 2028 — **Nexus**
+
+감사 가능한 end-to-end 온체인 계보 + 온체인 TNPL + 자율적 진화를 통해 지식 경제 백본이 됩니다.
+
+### 핵심 마일스톤
+
+**프로토콜 성숙도**
+
+* **프로토콜 v3**를 출하합니다: 자율 업그레이드, 마켓 성숙, 깊은 AI‑에이전트 통합, 기관 포트폴리오 레일.
+* **전체 라이프사이클의 end-to-end 감사 가능한 계보**를 완성합니다(CF → 에셋 → 데이터셋 버전 → 채택 → 분배). 트러스트 갭을 줄이고 리플레이 가능성을 극대화합니다. ([데이터 조립](/ko/core-systems/data-assembly))
+* **TNPL을 완전히 온체인**으로 가져옵니다: 사용 계량이 학습 + 파생 모델의 다운스트림 추론까지 커버; 정산은 협상이 아니라 룰로 흐릅니다. ([로열티 이코노미](/ko/quick-guide/royalty-economy))
+* 거버넌스가 실질적 제어가 됩니다: 커뮤니티가 **평판 가중치** 등 프로토콜 파라미터를 투명한 버전과 감사 트레일로 조정합니다. ([평판](/ko/core-systems/reputation))
+
+**휴먼 + 에이전트 네트워크**
+
+* 에이전트는 공유 신뢰 시그널을 가진 **투자 가능·컴포저블 액터**가 되고, 인간은 고난도 리뷰/판정/프런티어 전문성으로 이동합니다. ([ERC‑8004 + x402](/ko/ecosystem-integration/adopting-erc-8004-x402-essentials))
+
+**자산 경제 & GTM**
+
+* Codatta는 여러 생태계에서 **프로비넌스 + 정책 + 계량 + 분배** 백엔드의 기본값이 됩니다. 오픈 디스트리뷰션은 넓게 유지되고, 유료 인벤토리는 복리로 성장합니다. ([로열티 이코노미](/ko/quick-guide/royalty-economy))
+
+**가능해진 유스케이스**
+
+개발자가 TNPL로 학습하고 모델을 출시한 뒤, 전 세계에 API를 판매합니다. 의미 있는 모든 요청이 계량되고, 로열티는 그 모델을 가능하게 한 사람과 에이전트에게 지속적으로 스트리밍됩니다. 어트리뷰션은 논쟁이 아니라 계보가 답합니다. 프로토콜은 거버넌스로 관리되는 재현 가능한 규칙을 통해 스스로 업그레이드하고, 생태계는 그 위에서 계속 구축합니다.
---
diff --git a/ko/core-systems/contribution-fingerprint.mdx b/ko/core-systems/contribution-fingerprint.mdx
index 7e01617..6c78a77 100644
--- a/ko/core-systems/contribution-fingerprint.mdx
+++ b/ko/core-systems/contribution-fingerprint.mdx
@@ -28,7 +28,7 @@ config:
---
flowchart TB
subm[Submission of Data]
- subm --> prescan[Pre-scan: Format/Policy Gate and De-dup]
+ subm --> prescan[Pre-scan: Heuristic checks (format/policy/dedup) + AI agent semantic checks]
subm --> store[Store Encrypted Payload at Hybrid Storage]
prescan --> |Auto-accept| build[Build CF Commit: canonicalize hash attach Evidence and Signals atomic_kind parent_cf]
prescan --> |Needs Human Review| review[Human Review]
@@ -50,7 +50,7 @@ flowchart TB
**단계 설명**
- **제출** — 기여자가 콘텐츠를 보냅니다. **암호화 사본**과 안정적 참조(콘텐츠 ID/URL)를 저장합니다.
-- **사전 점검** — 형식/프라이버시 마스킹/중복을 가볍게 확인. 일부는 자동 통과, 일부는 간단한 휴먼 리뷰 필요.
+- **사전 점검** — 휴리스틱 기반 형식/정책 준수/중복 제거 검사와 AI 에이전트의 의미론적 검사. 일부는 자동 통과, 일부는 간단한 휴먼 리뷰 필요.
- **기록 생성** — 세부를 표준화하고 **샘플/레이블/검증** 여부를 표시하며 **증거 & 신호**를 첨부.
- **아이덴티티 바인딩** — 지갑/DID로 레코드에 승인/서명.
- **온체인 앵커** — 지문을 블록체인에 불변으로 앵커(단건 or 배치).
diff --git a/ko/products/data-lineage.mdx b/ko/products/data-lineage.mdx
new file mode 100644
index 0000000..d275bbb
--- /dev/null
+++ b/ko/products/data-lineage.mdx
@@ -0,0 +1,90 @@
+---
+title: "데이터 계보 (Data Lineage)"
+description: "자산화 → 조립 → 채택 → 분배까지, Codatta에서 데이터의 전체 라이프사이클을 추적합니다."
+icon: "diagram-project"
+---
+
+Codatta는 원시 기여가 **신뢰할 수 있는 온체인 자산**이 되고, 다시 **데이터셋으로 조립**되어 **수익과 로열티**로 이어지는 전 과정을 투명하게 보여줍니다.
+
+**데이터 계보 (Data Lineage)** 페이지는 이 흐름을 네 단계로 나누어 기여자, 검증자, 데이터 구매자, 백커가 모두 같은 지도를 공유할 수 있게 합니다.
+
+## 계보 다이어그램
+
+아래 다이어그램(영문 노드 사용)은 Codatta 프로토콜에서 데이터가 거치는 네 가지 단계를 시각화합니다.
+
+```mermaid
+graph TB
+ %% Data Lineage Flow
+
+ subgraph Stage1 [Stage 1: Assetification]
+ S1(Submit Samples or Labels) --> V1(Validate)
+ V1 --> ANCHOR{{⬢ Anchor On-Chain}}
+ end
+
+ subgraph Stage2 [Stage 2: Data Assembling]
+ ANCHOR --> M1{◆ Merge / Curate}
+ ExtAsset(Other Assets) --> M1
+ M1 --> DS(Dataset Version)
+ end
+
+ subgraph Stage3 [Stage 3: Publication & Adoption]
+ DS --> PUB[■ Publish to HuggingFace]
+ DS --> ADOPT[■ Adopted by Model X]
+ end
+
+ subgraph Stage4 [Stage 4: Payouts]
+ ADOPT -.-> PAY(● $ Payout Event)
+ PAY -..-> ANCHOR
+ end
+```
+
+## 라이프사이클 단계
+
+### 1. 자산화 (Assetification)
+
+원시 기여가 신뢰할 수 있는 온체인 자산으로 변환되는 단계입니다:
+
+- **제출 (Submission):** 기여자가 샘플·레이블 등 원자 기여를 제출하고, 각 기여에 대해 기여 지문(CF)이 생성됩니다.
+- **스크리닝 및 검증 (Screening & Validation):** Codatta는 휴리스틱 기반 형식/정책 준수/중복 제거 검사와 AI 에이전트의 의미론적 검사를 포함한 자동 사전 스캔을 실행합니다. 필요시 휴먼 리뷰가 트리거됩니다. 이 단계에서 실패한 제출은 거부되며 **CF를 생성하지 않습니다**。
+- **CF 생성 및 앵커링 (CF Creation & Anchoring):** 승인된 각 원자 기여에 대해 시스템은 **CF 커밋**을 구축하고(콘텐츠 해시 정규화, 증거 및 신호 첨부, 기여자 신원 바인딩), 선택된 네트워크에서 **CF의 지문을 온체인에 앵커**합니다(CF당 또는 배치 Merkle 루트).
+
+관련 문서:
+
+- **[기여 지문 (CF)](/ko/core-systems/contribution-fingerprint)**
+
+### 2. 데이터 조립 (Data Assembling)
+
+자산화가 끝난 후, 앵커된 자산이 모여 실제로 사용 가능한 데이터셋으로 조립됩니다:
+
+- **구성 (Composition):** 여러 원자 자산과 자산 번들이 하나의 조립 파이프라인으로 합쳐집니다.
+- **버전 관리 (Versioning):** 입력이나 규칙이 바뀔 때마다 새로운 데이터셋 버전이 생성되어, 과거 상태를 보존하고 diff를 쉽게 비교할 수 있습니다.
+
+자세한 조립 규칙과 매니페스트, 버전 정책은 **[데이터 조립 (Data Assembly)](/ko/core-systems/data-assembly)** 문서를 참고하세요.
+
+### 3. 게시 및 채택 (Publication & Adoption)
+
+조립과 앵커링이 끝난 데이터셋은 실제 사용을 위해 게시됩니다:
+
+- **게시 (Publication):** HuggingFace, 분산 스토리지 등으로 게시됩니다.
+- **채택 (Adoption):** 특정 AI 모델이나 애플리케이션이 해당 데이터셋 버전을 학습·평가·추론에 사용하며, 이는 “유틸리티 증거”로 기록됩니다.
+
+접근 제어와 사용 계량에 대한 자세한 내용은 다음을 참고하세요:
+
+- **[액세스 제어 & 계량](/ko/core-systems/access-control-metering)**
+- **[스토리지·컴퓨트·서빙](/ko/core-systems/storage-compute-serving)**
+
+### 4. 분배 (Payouts)
+
+채택 이벤트가 매출(라이선스·API 요금 등)을 발생시키면, 수익은 소유권 그래프를 따라 권리자에게 돌아갑니다:
+
+- **가치 흐름 (Value Flow):** 각 유료 이벤트는 특정 데이터셋 버전과 사용 컨텍스트에 고정됩니다.
+- **분배 (Distribution):** 이벤트 시점의 소유권 스냅샷을 기준으로, 기여자·검증자·백커·프로토콜 금고 등에 순수익이 분배됩니다.
+- **백커 (Backers):** 소유권 지분이 2차 거래된 경우에도, 시스템은 항상 그 시점의 **현재 소유자**에게 분배하도록 보장합니다.
+
+분배 수학, 준비금, 재생 가능성에 대해서는 **[로열티 엔진 (Royalty Engine)](/ko/core-systems/royalty-engine)** 문서를 참고하세요.
+
+## 참고 (References)
+
+- [Hugging Face의 Codatta 데이터셋 페이지](https://huggingface.co/Codatta/datasets)
+
+
diff --git a/en/mintify-examples/snippets/snippet-intro.mdx b/snippets/snippet-intro.mdx
similarity index 100%
rename from en/mintify-examples/snippets/snippet-intro.mdx
rename to snippets/snippet-intro.mdx
diff --git a/translate.js b/translate.js
new file mode 100644
index 0000000..091c9b2
--- /dev/null
+++ b/translate.js
@@ -0,0 +1,239 @@
+import OpenAI from "openai";
+import fs from "fs-extra";
+import path from "path";
+
+/**
+ * Configuration
+ */
+const SRC_DIR = "en/changelog";
+const TARGET_LANGS = [
+ {
+ code: "cn",
+ name: "Chinese",
+ systemPrompt:
+ "请将以下英文 changelog 按中文语境重写一下,要求:1. 只翻译纯文本部分,忽略任何 HTML 标签、代码块、表格、特殊格式(如代码行、列)等,看着像代码也保留不动。2. 保留原有 HTML 标签和结构,不要修改格式。3. 保证翻译内容准确。4.小标题的单词也要翻译,日期也要翻译,但必须遵循统一的日期格式。5.不要直译,要理解英文原文的语义,然后用符合中文语言习惯的自然方式重新表述。例如:'action' 不应直译为'行动',而应根据上下文用更自然的中文表达(如'操作'、'动作'等)。6.专有名词识别规则:- 自动识别首字母大写的专有名词(如产品名、模块名、功能名等),这些通常应保持英文不翻译;- 特别地,以下术语和表达必须固定使用,不要翻译:- 'Frontier' 和 'Frontiers' 是产品名,保持英文不翻译;- 'Crypto Frontier'、'Crypto Frontier QUEST'、'Robotics Frontier' 是专有名词,保持英文不翻译;- 'Model Comparison'、'Spot LLM's Mistakes'、'Correct LLM's Mistakes'、'Food Science'、'Lifelog Canvas' 是专有名词,保持英文不翻译;- 'Lineage' 翻译为'血缘'(因为我们有产品叫 Data Lineage 数据血缘);- 小要点中的 'How' 不要翻译成'如何',统一翻译为'运作方式';- 'Timeline' 不要翻译成'时间表'、'时间安排',统一翻译为'活动时间';- 'Access' 不要翻译成'访问'、'访问方式',统一翻译为'参与方式';- 'Lock' 统一翻译为'锁仓'。7.日期格式必须严格统一为:'2025 年 12 月 04 日'格式(汉字和数字之间必须保留 1 个空格,年份、月份、日期都是两位数,月份和日期不足两位要补零,例如:'2025 年 09 月 05 日'、'2025 年 06 月 25 日')。所有日期标题(如 '## Dec 04, 2025')必须翻译为 '## 2025 年 12 月 04 日' 格式。确保翻译后的中文读起来自然流畅,符合中文表达习惯。",
+ },
+ {
+ code: "ko",
+ name: "Korean",
+ systemPrompt:
+ "다음 영어 changelog 를 한국어 문맥에 맞게 재작성해 주세요. 다음 요구사항을 엄격히 준수하세요: 1. 텍스트 내용만 번역하고, HTML 태그, 코드 블록, 표, 특수 형식(예: 코드 행, 열 등) 등은 무시하고, 코드로 보이는 모든 내용은 그대로 유지하세요. 2. 원본 HTML 태그와 구조를 유지하고, 형식을 수정하지 마세요. 3. 번역 내용의 정확성을 보장하세요. 4. 소제목의 단어도 반드시 번역하세요. 날짜도 번역해야 하며, 반드시 통일된 날짜 형식을 따라야 합니다. 5. 직역하지 말고, 영어 원문의 의미를 이해한 후 한국어 언어 습관에 맞는 자연스러운 방식으로 재표현하세요. 예를 들어, 'action'을 단순히 '행동'으로 직역하지 말고, 문맥에 따라 더 자연스러운 한국어 표현을 사용하세요. 6. 고유명사 식별 규칙: - 대문자로 시작하는 고유명사(예: 제품명, 모듈명, 기능명 등)를 자동으로 식별하고, 이러한 용어는 일반적으로 영어로 유지하고 번역하지 마세요. - 특히 다음 용어와 표현은 고정적으로 사용해야 하며 번역하지 마세요: - 'Frontier'와 'Frontiers'는 제품명이므로 영어로 유지하세요. - 'Crypto Frontier', 'Crypto Frontier QUEST', 'Robotics Frontier'는 고유명사이므로 영어로 유지하세요. - 'Model Comparison', 'Spot LLM's Mistakes', 'Correct LLM's Mistakes', 'Food Science', 'Lifelog Canvas'는 고유명사이므로 영어로 유지하세요. 7. 날짜 형식은 반드시 '2025년 12월 04일' 형식으로 통일하세요(년, 월, 일은 모두 두 자리 숫자이며, 월과 일이 한 자리인 경우 앞에 0을 붙여야 합니다. 예: '2025년 09월 05일', '2025년 06월 25일'). 모든 날짜 제목(예: '## Dec 04, 2025')은 '## 2025년 12월 04일' 형식으로 번역해야 합니다. 번역된 한국어가 자연스럽고 유창하게 읽히도록 한국어 표현 습관에 맞게 작성하세요.",
+ },
+];
+
+// Initialize OpenAI client
+const client = new OpenAI({
+ apiKey: process.env.OPENAI_API_KEY,
+ timeout: 120000,
+ maxRetries: 0,
+});
+
+/**
+ * Retry strategy
+ */
+async function withRetry(fn, maxRetries = 5) {
+ let retries = 0;
+ while (retries < maxRetries) {
+ try {
+ return await fn();
+ } catch (err) {
+ retries++;
+ if (retries >= maxRetries) {
+ throw new Error(`Failed after ${maxRetries} retries: ${err.message}`);
+ }
+ const delay = 1000 * Math.pow(2, retries);
+ console.log(`Request failed, retrying after ${delay}ms (attempt ${retries}/${maxRetries}):`, err.message);
+ await new Promise(resolve => setTimeout(resolve, delay));
+ }
+ }
+}
+
+/**
+ * Split text into chunks (only for the part to be translated)
+ */
+function splitTextByParagraphs(text, maxChars = 8000) {
+ const paragraphs = text.split("\n\n");
+ const chunks = [];
+ let currentChunk = "";
+
+ for (const para of paragraphs) {
+ if (para.length > maxChars) {
+ const subPara = para.split("\n");
+ let subCurrent = "";
+ for (const sub of subPara) {
+ if (subCurrent.length + sub.length <= maxChars) {
+ subCurrent += sub + "\n";
+ } else {
+ chunks.push(subCurrent.trim());
+ subCurrent = sub + "\n";
+ }
+ }
+ if (subCurrent.trim()) chunks.push(subCurrent.trim());
+ continue;
+ }
+
+ if (currentChunk.length + para.length <= maxChars) {
+ currentChunk += para + "\n\n";
+ } else {
+ chunks.push(currentChunk.trim());
+ currentChunk = para + "\n\n";
+ }
+ }
+ if (currentChunk.trim()) {
+ chunks.push(currentChunk.trim());
+ }
+ console.log(`✅ Split translation part into ${chunks.length} chunks, max ${maxChars} chars per chunk`);
+ return chunks;
+}
+
+/**
+ * Two-marker truncation logic (core modification)
+ * Rules:
+ * 1. Before markerBefore (inclusive) → keep as-is, no translation
+ * 2. Between markerBefore and markerAfter → translate
+ * 3. After markerAfter (inclusive) → keep as-is, no translation
+ */
+function truncateWithTwoMarkers(text, markerBefore, markerAfter) {
+ // 1. Locate markerBefore (supports multi-line)
+ const markerBeforeIndex = text.indexOf(markerBefore);
+ // 2. Locate markerAfter (search forward, must be after markerBefore)
+ const markerAfterIndex = markerBeforeIndex === -1
+ ? -1
+ : text.indexOf(markerAfter, markerBeforeIndex + markerBefore.length);
+
+ // Edge case 1: markerBefore not found → only handle markerAfter (keep after markerAfter as-is)
+ if (markerBeforeIndex === -1) {
+ if (markerAfterIndex === -1) {
+ console.log("⚠️ No markers found, will translate entire content");
+ return { translatePart: text, keepBefore: "", keepAfter: "" };
+ }
+ console.log("⚠️ markerBefore not found, keeping content after markerAfter as-is");
+ return {
+ translatePart: text.slice(0, markerAfterIndex).trim(),
+ keepBefore: "",
+ keepAfter: text.slice(markerAfterIndex)
+ };
+ }
+
+ // Edge case 2: markerBefore found but markerAfter not found → keep before markerBefore as-is, translate the rest
+ if (markerAfterIndex === -1) {
+ console.log("⚠️ markerAfter not found, keeping content before markerBefore as-is");
+ return {
+ translatePart: text.slice(markerBeforeIndex + markerBefore.length).trim(),
+ keepBefore: text.slice(0, markerBeforeIndex + markerBefore.length),
+ keepAfter: ""
+ };
+ }
+
+ // Normal case: both markers found → translate the middle part
+ console.log(`✅ Both markers located:
+ - markerBefore position: ${markerBeforeIndex}
+ - markerAfter position: ${markerAfterIndex}`);
+
+ return {
+ // To translate: between markerBefore and markerAfter
+ translatePart: text.slice(markerBeforeIndex + markerBefore.length, markerAfterIndex).trim(),
+ // Keep: before markerBefore (inclusive)
+ keepBefore: text.slice(0, markerBeforeIndex + markerBefore.length),
+ // Keep: after markerAfter (inclusive)
+ keepAfter: text.slice(markerAfterIndex)
+ };
+}
+
+/**
+ * Translation function (integrates two-marker + chunking + translation + concatenation)
+ */
+async function translate(text, systemPrompt) {
+ console.log("\n📝 Original text total length:", text.length, "characters");
+
+ // Configure two markers (exact copy, including newlines/indentation/special characters)
+ // markerBefore: }; return ; })()}
+ const markerBefore = `};
+ return
;
+ })()}
+
`;
+ // markerAfter: {/* Component definitions - moved to end of file for cleaner code organization */}
+ const markerAfter = `{/* Component definitions - moved to end of file for cleaner code organization */}`;
+
+ // Execute two-marker truncation
+ const { translatePart, keepBefore, keepAfter } = truncateWithTwoMarkers(text, markerBefore, markerAfter);
+
+ // No content to translate → return kept parts directly
+ if (!translatePart) {
+ return keepBefore + keepAfter;
+ }
+
+ // Chunk and translate the middle content
+ const chunks = splitTextByParagraphs(translatePart);
+ const translatedChunks = [];
+
+ for (let i = 0; i < chunks.length; i++) {
+ console.log(`🔄 Translating chunk ${i+1}/${chunks.length} (${chunks[i].length} characters)`);
+ const res = await withRetry(async () => {
+ return await client.chat.completions.create({
+ model: "gpt-4o-mini",
+ messages: [
+ { role: "system", content: systemPrompt },
+ { role: "user", content: `Please translate the following text, strictly following the system instructions:\n${chunks[i]}` },
+ ],
+ temperature: 0.0,
+ max_tokens: 4096,
+ stream: false,
+ });
+ });
+
+ if (!res || !res.choices || res.choices.length === 0) {
+ throw new Error(`Translation failed for chunk ${i+1}: API returned abnormal response`);
+ }
+ translatedChunks.push(res.choices[0].message.content.trim());
+ }
+
+ // Concatenate final result: keepBefore + translated middle content + keepAfter
+ const translatedPart = translatedChunks.join("\n\n");
+ const finalResult = keepBefore + (translatedPart ? "\n" + translatedPart : "") + keepAfter;
+
+ return finalResult;
+}
+
+/**
+ * Main process
+ */
+async function run() {
+ if (!(await fs.pathExists(SRC_DIR))) {
+ console.log("❌ changelog directory not found, skipping translation");
+ return;
+ }
+
+ const files = await fs.readdir(SRC_DIR);
+ for (const file of files) {
+ if (!file.endsWith(".md") && !file.endsWith(".mdx")) continue;
+
+ const srcPath = path.join(SRC_DIR, file);
+ const content = await fs.readFile(srcPath, "utf-8");
+
+ console.log(`\n========== Processing ${srcPath} ==========`);
+
+ for (const lang of TARGET_LANGS) {
+ const outDir = path.join(lang.code, "changelog");
+ const outPath = path.join(outDir, file);
+ await fs.ensureDir(outDir);
+
+ try {
+ const translated = await translate(content, lang.systemPrompt);
+ await fs.writeFile(outPath, translated, "utf-8");
+ console.log(`✅ Success: ${file} → ${lang.code}/changelog/${file}`);
+ } catch (err) {
+ console.error(`❌ Failed: ${file} → ${lang.code}`, err.stack);
+ continue;
+ }
+ }
+ }
+
+ console.log("\n🎉 All files processed!");
+}
+
+// Execute main process
+run().catch((err) => {
+ console.error("💥 Global execution failed:", err.stack);
+ process.exit(1);
+});
\ No newline at end of file