From 8617229de698cf98d4cb09d306455da5e47983fc Mon Sep 17 00:00:00 2001 From: TheGeneralist <180094941+thegeneralist01@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:03:55 +0200 Subject: [PATCH] Refine classifier workflow and paper evaluation --- docs/Facharbeit.pdf | Bin 158472 -> 158828 bytes docs/Facharbeit.typ | 32 ++++--- src/classifiers.rs | 100 ++++++++++++++++++--- src/db.rs | 162 +++++++++++++++++++++++++++++++++- src/main.rs | 133 +++++++++++++++++++++++++++- src/scrapers/twitter.rs | 54 ++++++++++-- src/tag_tree.rs | 183 +++++++++++++++++++++++++++++++++++++++ tag-tree | 1 + test-classification-list | 14 ++- 9 files changed, 631 insertions(+), 48 deletions(-) create mode 100644 src/tag_tree.rs diff --git a/docs/Facharbeit.pdf b/docs/Facharbeit.pdf index 62399b31dd8bd57b70bf2ebf49174d3fe80499d8..26aa83c2d0c8c643d0527d9b7e7e46f1086578e6 100644 GIT binary patch delta 58082 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 z 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 delta 57761 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 pxH{U}YAR^pl#1oDv*Ri*Nh~U Result { - let prompt = format!("You are a resource classifier. Given a hierarchical tag tree and a resource, classify it into 1-3 most specific applicable tags. + let prompt = build_prompt(tag_tree, &content); + let out = Command::new("codex") + .arg("e") + .arg("--model") + .arg("gpt-5.4-mini") + .arg(prompt) + .output() + .with_context(|| "Failed to execute classification command")?; + println!("Output: {:?}", out); + Ok(String::from_utf8_lossy(&out.stdout).to_string()) +} + +fn build_prompt(tag_tree: &str, content: &str) -> String { + format!("You are a resource classifier. Given a hierarchical tag tree and a resource, classify it into 1-3 most specific applicable tags. # RULES: - Each level down = narrower specialization - Assign MOST SPECIFIC tags that fit (prefer leaf nodes when appropriate) +- ALWAYS include the full path from the top-level root, e.g. cs/... or Ai/... - If no good fit exists, suggest new tag(s) with proposed location in tree - Output JSON only @@ -29,15 +43,7 @@ pub fn classify(tag_tree: &str, content: String) -> Result { }} ], \"reasoning\": \"brief explanation of classification\" -}}"); - - let out = Command::new("codex") - .arg("e") - .arg(prompt) - .output() - .with_context(|| "Failed to execute classification command")?; - println!("Output: {:?}", out); - Ok(String::from_utf8_lossy(&out.stdout).to_string()) +}}") } pub fn classify_with_retry( @@ -74,8 +80,6 @@ pub fn classify_with_retry( unreachable!() } -// Yeah - #[derive(Debug, Serialize, Deserialize)] pub struct ClassificationResult { #[serde(default)] @@ -95,6 +99,21 @@ pub struct NewTagSuggestion { pub reason: String, } +impl NewTagSuggestion { + pub fn full_path(&self) -> String { + let parent = self.parent.trim_matches('/'); + let name = self.name.trim_matches('/'); + + if parent.is_empty() { + name.to_string() + } else if name.is_empty() { + parent.to_string() + } else { + format!("{parent}/{name}") + } + } +} + impl ClassificationResult { /// Parse from the JSON string returned by the LLM pub fn from_json(json_str: &str) -> Result { @@ -124,6 +143,17 @@ impl ClassificationResult { .map(|(tag, _)| tag.as_str()) .collect() } + + pub fn suggestion_confidence_score(&self) -> Option { + self.confidence.iter().copied().reduce(f32::min) + } + + pub fn should_auto_apply_suggestions(&self, threshold: f32) -> bool { + !self.new_tags.is_empty() + && self + .suggestion_confidence_score() + .is_some_and(|confidence| confidence >= threshold) + } } // Example usage in your code: @@ -157,4 +187,50 @@ mod tests { println!("Primary tag: {:?}", result.primary_tag()); println!("Is confident (>0.5): {}", result.is_confident(0.5)); } + + #[test] + fn test_from_json_preserves_paths_verbatim() { + let json = r#"{ + "tags": ["theory/compilers/parsing"], + "confidence": [0.95], + "new_tags": [ + { + "name": "social_media", + "parent": "theory/compilers", + "reason": "Top-level bucket for generic social posts." + } + ], + "reasoning": "No direct topic match." +}"#; + + let result = ClassificationResult::from_json(json).unwrap(); + assert_eq!(result.tags[0], "theory/compilers/parsing"); + assert_eq!(result.new_tags[0].parent, "theory/compilers"); + } + + #[test] + fn test_prompt_uses_uppercase_always_rule() { + let prompt = build_prompt("- cs", "Title: Tweet by @x\nContent: compiler stuff"); + assert!(prompt.contains("ALWAYS include the full path from the top-level root")); + } + + #[test] + fn test_suggestion_auto_apply_uses_lowest_confidence() { + let result = ClassificationResult { + tags: vec![ + "cs/theory/compilers".to_string(), + "cs/theory/compilers/optimization".to_string(), + ], + confidence: vec![0.96, 0.74], + new_tags: vec![NewTagSuggestion { + name: "lexing".to_string(), + parent: "cs/theory/compilers".to_string(), + reason: "A dedicated tag for lexer implementation.".to_string(), + }], + reasoning: String::new(), + }; + + assert_eq!(result.suggestion_confidence_score(), Some(0.74)); + assert!(!result.should_auto_apply_suggestions(0.75)); + } } diff --git a/src/db.rs b/src/db.rs index 445f5fd..a152a4c 100644 --- a/src/db.rs +++ b/src/db.rs @@ -6,7 +6,7 @@ use anyhow::{Context, Result}; use rusqlite::{Connection, params}; use serde::Serialize; -use crate::classifiers::ClassificationResult; +use crate::classifiers::{ClassificationResult, NewTagSuggestion}; #[derive(Debug, Serialize)] pub struct Resource { @@ -39,6 +39,35 @@ pub struct ExportedResource { pub tags: Vec, } +#[derive(Clone, Copy, Debug, Eq, PartialEq)] +pub enum TagSuggestionStatus { + Pending, + AutoApplied, + Approved, + Rejected, +} + +impl TagSuggestionStatus { + fn as_str(self) -> &'static str { + match self { + Self::Pending => "pending", + Self::AutoApplied => "auto_applied", + Self::Approved => "approved", + Self::Rejected => "rejected", + } + } +} + +#[derive(Debug)] +pub struct PendingTagSuggestion { + pub id: i64, + pub resource_id: String, + pub resource_url: String, + pub full_path: String, + pub reason: String, + pub confidence: Option, +} + pub struct Database { conn: Connection, } @@ -88,6 +117,21 @@ impl Database { new_tag_suggestions TEXT, FOREIGN KEY (resource_id) REFERENCES resources(id) ); + + CREATE TABLE IF NOT EXISTS tag_suggestions ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + resource_id TEXT NOT NULL, + tag_name TEXT NOT NULL, + parent_path TEXT NOT NULL, + full_path TEXT NOT NULL, + reason TEXT NOT NULL, + confidence REAL, + status TEXT NOT NULL DEFAULT 'pending', + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + reviewed_at DATETIME, + UNIQUE(resource_id, full_path), + FOREIGN KEY (resource_id) REFERENCES resources(id) + ); "#; self.conn @@ -150,6 +194,114 @@ impl Database { Ok(()) } + pub fn replace_tag_suggestions( + &self, + resource_id: &str, + suggestions: &[NewTagSuggestion], + confidence: Option, + ) -> Result<()> { + self.conn + .execute( + "DELETE FROM tag_suggestions WHERE resource_id = ?1", + params![resource_id], + ) + .context("Failed to clear previous tag suggestions")?; + + for suggestion in suggestions { + let full_path = suggestion.full_path(); + self.conn + .execute( + r#" + INSERT INTO tag_suggestions ( + resource_id, tag_name, parent_path, full_path, reason, confidence, status + ) + VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7) + "#, + params![ + resource_id, + suggestion.name, + suggestion.parent, + full_path, + suggestion.reason, + confidence, + TagSuggestionStatus::Pending.as_str(), + ], + ) + .context("Failed to store tag suggestion")?; + } + + Ok(()) + } + + pub fn get_pending_tag_suggestions(&self) -> Result> { + let mut stmt = self + .conn + .prepare( + r#" + SELECT ts.id, ts.resource_id, r.url, ts.full_path, ts.reason, ts.confidence + FROM tag_suggestions ts + INNER JOIN resources r ON r.id = ts.resource_id + WHERE ts.status = ?1 + ORDER BY ts.created_at, ts.id + "#, + ) + .context("Failed to prepare pending tag suggestion query")?; + + let suggestions = stmt + .query_map(params![TagSuggestionStatus::Pending.as_str()], |row| { + Ok(PendingTagSuggestion { + id: row.get(0)?, + resource_id: row.get(1)?, + resource_url: row.get(2)?, + full_path: row.get(3)?, + reason: row.get(4)?, + confidence: row.get::<_, Option>(5)?.map(|value| value as f32), + }) + }) + .context("Failed to fetch pending tag suggestions")? + .collect::, _>>() + .context("Failed to collect pending tag suggestions")?; + + Ok(suggestions) + } + + pub fn update_tag_suggestion_status( + &self, + resource_id: &str, + full_path: &str, + status: TagSuggestionStatus, + ) -> Result<()> { + self.conn + .execute( + r#" + UPDATE tag_suggestions + SET status = ?3, reviewed_at = CURRENT_TIMESTAMP + WHERE resource_id = ?1 AND full_path = ?2 + "#, + params![resource_id, full_path, status.as_str()], + ) + .with_context(|| format!("Failed to update tag suggestion status for {}", full_path))?; + Ok(()) + } + + pub fn update_tag_suggestion_status_by_id( + &self, + id: i64, + status: TagSuggestionStatus, + ) -> Result<()> { + self.conn + .execute( + r#" + UPDATE tag_suggestions + SET status = ?2, reviewed_at = CURRENT_TIMESTAMP + WHERE id = ?1 + "#, + params![id, status.as_str()], + ) + .with_context(|| format!("Failed to update tag suggestion status for id {}", id))?; + Ok(()) + } + pub fn get_all_tags(&self) -> Result> { let mut stmt = self .conn @@ -176,6 +328,14 @@ impl Database { ); } + // Re-classification should replace the active tag set for a resource. + self.conn + .execute( + "DELETE FROM resource_tags WHERE resource_id = ?1", + params![resource_id], + ) + .context("Failed to clear previous resource tags")?; + for (tag, confidence) in result.tags.iter().zip(result.confidence.iter()) { self.ensure_tag_exists(tag)?; self.conn diff --git a/src/main.rs b/src/main.rs index 0ccc8a8..a8704a1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ use std::fs; +use std::io::{self, Write}; use anyhow::{Context, Result}; use clap::{Parser, Subcommand}; @@ -6,8 +7,14 @@ use clap::{Parser, Subcommand}; mod classifiers; mod db; mod scrapers; +mod tag_tree; use db::Database; +use db::TagSuggestionStatus; +use tag_tree::TagTreeFile; + +const TAG_TREE_PATH: &str = "tag-tree"; +const AUTO_APPLY_SUGGESTION_THRESHOLD: f32 = 0.75; enum Source { Twitter, @@ -52,6 +59,9 @@ enum Commands { /// Show statistics Stats, + + /// Review pending low-confidence tag suggestions + ReviewTags, } fn main() -> Result<()> { @@ -66,13 +76,14 @@ fn main() -> Result<()> { Commands::Classify { input, force } => classify_resources(&db, &input, force), Commands::Export { output } => export_resources(&db, &output), Commands::Stats => show_stats(&db), + Commands::ReviewTags => review_tag_suggestions(&db), } } fn classify_resources(db: &Database, input: &str, force: bool) -> Result<()> { let contents = fs::read_to_string(input) .with_context(|| format!("Failed to read input file: {}", input))?; - let tag_tree = fs::read_to_string("tag-tree").context("Failed to read tag tree file")?; + let mut tag_tree = TagTreeFile::load(TAG_TREE_PATH).context("Failed to read tag tree file")?; for line in contents.lines() { let url = line.trim(); @@ -114,7 +125,7 @@ fn classify_resources(db: &Database, input: &str, force: bool) -> Result<()> { let content = format!("Title: Tweet by @{}\nContent: {}", tweet.author, tweet.text); let resource_id = db.insert_resource(url, "twitter", &content)?; - let result = match classifiers::classify_with_retry(&tag_tree, content, 3) { + let result = match classifiers::classify_with_retry(&tag_tree.render(), content, 3) { Ok(result) => result, Err(e) => { eprintln!("Classification failed for {}: {}", url, e); @@ -143,6 +154,20 @@ fn classify_resources(db: &Database, input: &str, force: bool) -> Result<()> { if let Err(e) = db.store_classification(&resource_id, &result) { eprintln!("Failed to store classification for {}: {}", url, e); + continue; + } + + if let Err(e) = db.replace_tag_suggestions( + &resource_id, + &result.new_tags, + result.suggestion_confidence_score(), + ) { + eprintln!("Failed to store tag suggestions for {}: {}", url, e); + continue; + } + + if let Err(e) = process_tag_suggestions(db, &mut tag_tree, &resource_id, &result) { + eprintln!("Failed to process tag suggestions for {}: {}", url, e); } } Source::Other => { @@ -181,3 +206,107 @@ fn show_stats(db: &Database) -> Result<()> { Ok(()) } + +fn process_tag_suggestions( + db: &Database, + tag_tree: &mut TagTreeFile, + resource_id: &str, + result: &classifiers::ClassificationResult, +) -> Result<()> { + if result.new_tags.is_empty() { + return Ok(()); + } + + if !result.should_auto_apply_suggestions(AUTO_APPLY_SUGGESTION_THRESHOLD) { + println!( + "Queued {} tag suggestion(s) for manual review (`classifier review-tags`).", + result.new_tags.len() + ); + return Ok(()); + } + + let mut tree_changed = false; + for suggestion in &result.new_tags { + let full_path = suggestion.full_path(); + let parent_path = suggestion.parent.trim_matches('/'); + + if !parent_path.is_empty() && !tag_tree.contains_path(parent_path) { + println!( + "Keeping suggestion pending because parent path is missing: {}", + full_path + ); + continue; + } + + if tag_tree.ensure_path(&full_path)? { + tree_changed = true; + } + db.ensure_tag_exists(&full_path)?; + db.update_tag_suggestion_status(resource_id, &full_path, TagSuggestionStatus::AutoApplied)?; + println!("Auto-applied tag suggestion: {}", full_path); + } + + if tree_changed { + tag_tree.save()?; + } + + Ok(()) +} + +fn review_tag_suggestions(db: &Database) -> Result<()> { + let mut tag_tree = TagTreeFile::load(TAG_TREE_PATH).context("Failed to read tag tree file")?; + let pending = db.get_pending_tag_suggestions()?; + + if pending.is_empty() { + println!("No pending tag suggestions."); + return Ok(()); + } + + let mut tree_changed = false; + for suggestion in pending { + if tag_tree.contains_path(&suggestion.full_path) { + db.update_tag_suggestion_status_by_id(suggestion.id, TagSuggestionStatus::Approved)?; + continue; + } + + println!("\nPending tag suggestion: {}", suggestion.full_path); + println!("Resource: {}", suggestion.resource_url); + if let Some(confidence) = suggestion.confidence { + println!("Confidence score: {:.2}", confidence); + } else { + println!("Confidence score: n/a"); + } + println!("Reason: {}", suggestion.reason); + + print!("Approve this suggestion? [y]es/[n]o/[q]uit: "); + io::stdout().flush().context("Failed to flush stdout")?; + + let mut response = String::new(); + io::stdin() + .read_line(&mut response) + .context("Failed to read approval response")?; + + match response.trim().to_ascii_lowercase().as_str() { + "y" | "yes" => { + if tag_tree.ensure_path(&suggestion.full_path)? { + tree_changed = true; + } + db.ensure_tag_exists(&suggestion.full_path)?; + db.update_tag_suggestion_status_by_id(suggestion.id, TagSuggestionStatus::Approved)?; + println!("Approved and added to tag-tree: {}", suggestion.full_path); + } + "n" | "no" => { + db.update_tag_suggestion_status_by_id(suggestion.id, TagSuggestionStatus::Rejected)?; + println!("Rejected suggestion: {}", suggestion.full_path); + } + "q" | "quit" => break, + _ => println!("Leaving suggestion pending: {}", suggestion.full_path), + } + } + + if tree_changed { + tag_tree.save()?; + } + + Ok(()) +} diff --git a/src/scrapers/twitter.rs b/src/scrapers/twitter.rs index a2d23c8..64889f8 100644 --- a/src/scrapers/twitter.rs +++ b/src/scrapers/twitter.rs @@ -1,6 +1,6 @@ use anyhow::{Context, Result, bail}; use serde::Deserialize; -use std::{fs, path::PathBuf, process::Command}; +use std::{env, fs, path::PathBuf, process::Command}; #[derive(Debug, Deserialize)] pub struct ScrapedTweet { @@ -80,10 +80,33 @@ fn unescape_toml_string(value: String) -> String { } pub fn scrape(url: &str) -> Result { - let tweet_id = url.split('/').next_back().unwrap(); + let tweet_id = extract_tweet_id(url)?; println!("Scraping tweet ID: {}", tweet_id); - let out = Command::new("python") + let output_path = PathBuf::from("scraped-tweets").join(format!("tweet-{}.toml", tweet_id)); + if output_path.exists() { + return Ok(output_path); + } + + let python = if PathBuf::from(".venv/bin/python").exists() { + ".venv/bin/python" + } else { + "python" + }; + + let mut command = Command::new(python); + if PathBuf::from(".pydeps").exists() { + let mut python_path = String::from(".pydeps"); + if let Ok(existing) = env::var("PYTHONPATH") { + if !existing.is_empty() { + python_path.push(':'); + python_path.push_str(&existing); + } + } + command.env("PYTHONPATH", python_path); + } + + let out = command .arg("scrape_user_tweet_contents.py") .arg("--tweet-ids") .arg(tweet_id) @@ -91,12 +114,27 @@ pub fn scrape(url: &str) -> Result { .with_context(|| "Failed to execute tweet scraping command")?; println!("Output command: {:?}", out); - if PathBuf::from("scraped-tweets") - .join(format!("tweet-{}.toml", tweet_id)) - .exists() - { - return Ok(PathBuf::from("scraped-tweets").join(format!("tweet-{}.toml", tweet_id))); + if output_path.exists() { + return Ok(output_path); } bail!("Scraping failed for tweet: {}", url) } + +fn extract_tweet_id(url: &str) -> Result<&str> { + let trimmed = url.trim_end_matches('/'); + let last_segment = trimmed + .rsplit('/') + .next() + .context("Missing tweet ID in URL")?; + let tweet_id = last_segment + .split(['?', '#']) + .next() + .context("Missing tweet ID in URL")?; + + if tweet_id.is_empty() { + bail!("Missing tweet ID in URL: {}", url); + } + + Ok(tweet_id) +} diff --git a/src/tag_tree.rs b/src/tag_tree.rs new file mode 100644 index 0000000..3f16725 --- /dev/null +++ b/src/tag_tree.rs @@ -0,0 +1,183 @@ +use std::collections::HashMap; +use std::fs; +use std::path::{Path, PathBuf}; + +use anyhow::{Context, Result}; + +pub struct TagTreeFile { + path: PathBuf, + lines: Vec, +} + +impl TagTreeFile { + pub fn load(path: impl AsRef) -> Result { + let path = path.as_ref().to_path_buf(); + let contents = fs::read_to_string(&path) + .with_context(|| format!("Failed to read tag tree file: {}", path.display()))?; + let lines = contents.lines().map(ToOwned::to_owned).collect(); + Ok(Self { path, lines }) + } + + pub fn render(&self) -> String { + let mut rendered = self.lines.join("\n"); + rendered.push('\n'); + rendered + } + + pub fn contains_path(&self, full_path: &str) -> bool { + self.indexed_paths().contains_key(full_path) + } + + pub fn ensure_path(&mut self, full_path: &str) -> Result { + let parts: Vec<&str> = full_path.split('/').filter(|part| !part.is_empty()).collect(); + if parts.is_empty() { + return Ok(false); + } + + let mut changed = false; + for depth in 0..parts.len() { + let path = parts[..=depth].join("/"); + if self.contains_path(&path) { + continue; + } + + self.insert_path(&path)?; + changed = true; + } + + Ok(changed) + } + + pub fn save(&self) -> Result<()> { + fs::write(&self.path, self.render()) + .with_context(|| format!("Failed to write tag tree file: {}", self.path.display())) + } + + fn insert_path(&mut self, full_path: &str) -> Result<()> { + let parts: Vec<&str> = full_path.split('/').filter(|part| !part.is_empty()).collect(); + let leaf = parts + .last() + .copied() + .context("Cannot insert empty tag path")?; + let indexed = self.indexed_paths(); + + let (insert_at, depth) = if parts.len() == 1 { + (self.lines.len(), 0) + } else { + let parent_path = parts[..parts.len() - 1].join("/"); + let parent = indexed + .get(&parent_path) + .with_context(|| format!("Missing parent path in tag tree: {}", parent_path))?; + ( + subtree_end_index(&self.lines, parent.index, parent.depth), + parent.depth + 1, + ) + }; + + self.lines + .insert(insert_at, format!("{}- {}", " ".repeat(depth), leaf)); + Ok(()) + } + + fn indexed_paths(&self) -> HashMap { + parse_paths(&self.lines) + } +} + +#[derive(Clone, Copy)] +struct ParsedPath { + index: usize, + depth: usize, +} + +fn parse_paths(lines: &[String]) -> HashMap { + let mut stack: Vec = Vec::new(); + let mut paths = HashMap::new(); + + for (index, line) in lines.iter().enumerate() { + if line.trim().is_empty() { + continue; + } + + let depth = line.chars().take_while(|ch| *ch == ' ').count() / 2; + let name = line + .trim() + .strip_prefix("- ") + .unwrap_or_else(|| line.trim()) + .to_string(); + + stack.truncate(depth); + stack.push(name); + paths.insert( + stack.join("/"), + ParsedPath { + index, + depth, + }, + ); + } + + paths +} + +fn subtree_end_index(lines: &[String], parent_index: usize, parent_depth: usize) -> usize { + for (index, line) in lines.iter().enumerate().skip(parent_index + 1) { + if line.trim().is_empty() { + continue; + } + + let depth = line.chars().take_while(|ch| *ch == ' ').count() / 2; + if depth <= parent_depth { + return index; + } + } + + lines.len() +} + +#[cfg(test)] +mod tests { + use std::fs; + use std::path::PathBuf; + use std::time::{SystemTime, UNIX_EPOCH}; + + use super::*; + + #[test] + fn test_ensure_path_adds_new_leaf_under_existing_parent() { + let path = temp_path("tag-tree-insert"); + fs::write( + &path, + "- cs\n - theory\n - compilers\n - parsing\n", + ) + .unwrap(); + + let mut tree = TagTreeFile::load(&path).unwrap(); + let changed = tree.ensure_path("cs/theory/compilers/lexing").unwrap(); + + assert!(changed); + assert!(tree.render().contains(" - lexing\n")); + assert!(tree.render().contains(" - parsing\n - lexing\n")); + } + + #[test] + fn test_ensure_path_is_idempotent() { + let path = temp_path("tag-tree-idempotent"); + fs::write( + &path, + "- cs\n - theory\n - compilers\n - parsing\n", + ) + .unwrap(); + + let mut tree = TagTreeFile::load(&path).unwrap(); + assert!(!tree.ensure_path("cs/theory/compilers/parsing").unwrap()); + } + + fn temp_path(prefix: &str) -> PathBuf { + let nanos = SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_nanos(); + std::env::temp_dir().join(format!("{prefix}-{nanos}.txt")) + } +} diff --git a/tag-tree b/tag-tree index a121057..bd7b894 100644 --- a/tag-tree +++ b/tag-tree @@ -123,6 +123,7 @@ - specialized_crypto - toolchains - type_systems + - lexical_analysis - computation - complexity - quantum diff --git a/test-classification-list b/test-classification-list index 20adab6..7409662 100644 --- a/test-classification-list +++ b/test-classification-list @@ -1,8 +1,6 @@ -https://x.com/fleetwood___/status/1987527758558228809 -https://x.com/thegeneralist01/status/2017960363099107400 -https://x.com/thegeneralist01/status/2007161972442145086 -https://x.com/TigerBeetleDB/status/2019013589705916447 -https://x.com/TigerBeetleDB/status/2019013589705916447 -https://x.com/mitchellh/status/2020252149117313349 -https://x.com/amitpr/status/2020263065745519001 -https://x.com/claudeai/status/2020207322124132504 +https://x.com/ludwigabap/status/1892500346833936779?s=52 +https://x.com/ludwigabap/status/1825272086077530322?s=52 +https://x.com/ludwigabap/status/1823653420751827347?s=52 +https://x.com/ludwigabap/status/1827814296643854814?s=52 +https://x.com/effectfully/status/1879151558774104343?s=52 +https://x.com/0xmer_/status/1822115435166253562?s=52