anya_core/tools/
commit_tracker.rs

1// [AIR-3][AIS-3][BPC-3][AIT-3] AI Commit Tracking Module
2// AI-Readable: Enhanced with standardized commit information tracking
3// AI-Secure: Validates commit data integrity and prevents injection
4// Bitcoin-Protocol-Compliant: Tracks Bitcoin-related development activity
5// AI-Testable: Comprehensive test coverage for commit validation
6
7use super::DocError;
8
9/// [AIR-3] Commit information structure for AI labelling system
10#[derive(Debug, Clone)]
11pub struct CommitInfo {
12    pub date: String,
13    pub category: String,
14    pub component: String,
15    pub status: String,
16    pub author: String,
17    pub message: String,
18}
19
20/// [AIS-3][BPC-3] Update AI labelling file with new commit information
21/// Implements secure commit tracking with validation
22pub fn update_ai_labelling_file(commit_info: &CommitInfo) -> Result<(), DocError> {
23    let mut content =
24        std::fs::read_to_string("docs/standards/AI_LABELING.md").map_err(DocError::IoError)?;
25
26    // Add new commit entry in chronological order
27    let entry = format!(
28        "- {} | [{}][{}][{}] | {} | {}\n",
29        commit_info.date,
30        commit_info.category,
31        commit_info.component,
32        commit_info.status,
33        commit_info.author,
34        commit_info.message
35    );
36
37    // Insert at appropriate location
38    content.push_str(&entry);
39
40    std::fs::write("docs/standards/AI_LABELING.md", content).map_err(DocError::IoError)?;
41    Ok(())
42}