#!/usr/bin/env python3 """ Script per categorizzare automaticamente le skills nel file skills.json Basato su pattern matching degli ID delle skills. """ import json import re from pathlib import Path from typing import Dict, List, Tuple, Optional from collections import defaultdict # Definizione delle categorie e dei pattern di matching # Ordine importante: le regole più specifiche devono venire prima CATEGORY_RULES: List[Tuple[str, List[str]]] = [ # AI/ML - molto specifico ("ai-ml", [ r"^agent[-_]", r"^ai[-_]?", r"^llm[-_]?", r"^prompt[-_]?", r"^rag[-_]?", r"^embedding[-_]?", r"^ml[-_]?", r"^nlp[-_]?", r"^openai[-_]?", r"^anthropic[-_]?", r"langchain", r"langgraph", r"langfuse", r"crewai", r"^evaluation[-_]?", r"^inference[-_]?", r"^fine[-_]?tuning", r"^vector[-_]?", r"^similarity[-_]?search", r"^semantic[-_]?", r"^transformer[-_]?", r"^model[-_]?", r"^chatbot[-_]?", r"^gpt[-_]?", r"^claude[-_]?", r"^gemini[-_]?", r"^huggingface[-_]?", r"^training[-_]?", r"^prediction[-_]?", r"^classification[-_]?", r"^clustering[-_]?", r"^recommendation[-_]?", ]), # Security/Penetration Testing ("security", [ r"[-_]?pentest", r"[-_]?security[-_]?", r"pentesting", r"[-_]?attack[-_]?", r"[-_]?exploit[-_]?", r"[-_]?injection[-_]?", r"[-_]?scanning[-_]?", r"[-_]?vulnerability[-_]?", r"[-_]?malware[-_]?", r"[-_]?forensics[-_]?", r"[-_]?hacking[-_]?", r"[-_]?reversing[-_]?", r"^active[-_]?directory[-_]?", r"^windows[-_]?privilege", r"^linux[-_]?privilege", r"^privilege[-_]?escalation", r"^sql[-_]?injection", r"^xss[-_]?", r"^idor[-_]?", r"^csrf[-_]?", r"^brute[-_]?force", r"^cryptography[-_]?", r"^encryption[-_]?", r"^oauth[-_]?", r"^auth[-_]?", r"^firewall[-_]?", r"^ids[-_]?", r"^ips[-_]?", r"^siem[-_]?", r"^threat[-_]?", r"^risk[-_]?", r"^compliance[-_]?audit", r"^sast[-_]?", r"^dast[-_]?", r"^owasp[-_]?", r"^nessus[-_]?", r"^nmap[-_]?", r"^metasploit[-_]?", r"^burp[-_]?", r"^wireshark[-_]?", r"^shodan[-_]?", r"^cobalt[-_]?", r"^bloodhound[-_]?", r"^mimikatz[-_]?", r"^hashcat[-_]?", r"^john[-_]?", r"^hydra[-_]?", ]), # Frontend/Web Development ("frontend", [ r"^react[-_]?", r"^nextjs[-_]?", r"^vue[-_]?", r"^angular[-_]?", r"^svelte[-_]?", r"^frontend[-_]?", r"^css[-_]?", r"^tailwind[-_]?", r"^ui[-_]?", r"^ux[-_]?", r"^html[-_]?", r"^dom[-_]?", r"^web[-_]?design", r"^component[-_]?", r"^layout[-_]?", r"^responsive[-_]?", r"^animation[-_]?", r"^interaction[-_]?", r"^form[-_]?", r"^input[-_]?", r"^button[-_]?", r"^modal[-_]?", r"^dropdown[-_]?", r"^navbar[-_]?", r"^sidebar[-_]?", r"^card[-_]?", r"^grid[-_]?", r"^flex[-_]?", r"^theme[-_]?", r"^style[-_]?", r"^sass[-_]?", r"^less[-_]?", r"^bootstrap[-_]?", r"^material[-_]?", r"^mui[-_]?", r"^chakra[-_]?", r"^ant[-_]?design", r"^shadcn[-_]?", r"^radix[-_]?", r"^storybook[-_]?", r"^figma[-_]?", r"^sketch[-_]?", r"^adobe[-_]?xd", r"^webpack[-_]?", r"^vite[-_]?", r"^parcel[-_]?", r"^esbuild[-_]?", r"^rollup[-_]?", r"^babel[-_]?", r"^postcss[-_]?", r"^autoprefixer[-_]?", r"^browser[-_]?", r"^canvas[-_]?", r"^svg[-_]?", r"^icon[-_]?", r"^font[-_]?", r"^typography[-_]?", r"^color[-_]?", r"^gradient[-_]?", r"^shadow[-_]?", r"^border[-_]?", r"^spacing[-_]?", r"^padding[-_]?", r"^margin[-_]?", r"^position[-_]?", r"^display[-_]?", r"^float[-_]?", r"^clear[-_]?", r"^overflow[-_]?", r"^z[-_]?index", r"^opacity[-_]?", r"^visibility[-_]?", r"^clip[-_]?", r"^mask[-_]?", r"^blend[-_]?", r"^filter[-_]?", r"^transform[-_]?", r"^transition[-_]?", ]), # Mobile Development ("mobile", [ r"^ios[-_]?", r"^android[-_]?", r"^react[-_]?native", r"^flutter[-_]?", r"^swift[-_]?", r"^kotlin[-_]?", r"^mobile[-_]?", r"^app[-_]?store", r"^play[-_]?store", r"^xcode[-_]?", r"^android[-_]?studio", r"^gradle[-_]?", r"^cocoapods[-_]?", r"^jetpack[-_]?", r"^swiftui[-_]?", r"^uikit[-_]?", r"^jetpack[-_]?compose", r"^cordova[-_]?", r"^ionic[-_]?", r"^capacitor[-_]?", r"^expo[-_]?", r"^native[-_]?script", ]), # Backend Development ("backend", [ r"^nodejs[-_]?", r"^express[-_]?", r"^fastify[-_]?", r"^koa[-_]?", r"^nest[-_]?", r"^django[-_]?", r"^flask[-_]?", r"^fastapi[-_]?", r"^tornado[-_]?", r"^spring[-_]?", r"^springboot[-_]?", r"^laravel[-_]?", r"^symfony[-_]?", r"^codeigniter[-_]?", r"^cakephp[-_]?", r"^ruby[-_]?on[-_]?rails", r"^sinatra[-_]?", r"^phoenix[-_]?", r"^play[-_]?framework", r"^akka[-_]?", r"^ktor[-_]?", r"^micronaut[-_]?", r"^quarkus[-_]?", r"^vert[-_]?x", r"^gRPC[-_]?", r"^thrift[-_]?", r"^soap[-_]?", r"^xml[-_]?rpc", r"^rest[-_]?", r"^json[-_]?rpc", r"^openapi[-_]?", r"^swagger[-_]?", r"^postman[-_]?", r"^insomnia[-_]?", r"^hoppscotch[-_]?", r"^api[-_]?gateway", r"^kong[-_]?", r"^zuul[-_]?", r"^tyk[-_]?", r"^ambassador[-_]?", r"^istio[-_]?", r"^linkerd[-_]?", r"^envoy[-_]?", r"^consul[-_]?", r"^traefik[-_]?", r"^nginx[-_]?", r"^haproxy[-_]?", r"^caddy[-_]?", r"^apache[-_]?", r"^tomcat[-_]?", r"^jetty[-_]?", r"^undertow[-_]?", r"^netty[-_]?", r"^weblogic[-_]?", r"^websphere[-_]?", r"^jboss[-_]?", r"^wildfly[-_]?", r"^glassfish[-_]?", r"^payara[-_]?", r"^backend[-_]?", r"^server[-_]?side", r"^microservices[-_]?", r"^soa[-_]?", r"^event[-_]?driven", r"^message[-_]?queue", r"^message[-_]?broker", r"^rabbitmq[-_]?", r"^kafka[-_]?", r"^activemq[-_]?", r"^zeromq[-_]?", r"^nats[-_]?", r"^pulsar[-_]?", r"^rocketmq[-_]?", r"^sqs[-_]?", r"^sns[-_]?", r"^eventbridge[-_]?", r"^kinesis[-_]?", r"^pub[-_]?sub", r"^webhook[-_]?", r"^sse[-_]?", r"^websocket[-_]?", r"^socket[-_]?io", r"^ws[-_]?", r"^rtc[-_]?", r"^real[-_]?time", r"^push[-_]?notification", r"^polling[-_]?", r"^long[-_]?polling", r"^streaming[-_]?", r"^chunked[-_]?", r"^buffer[-_]?", r"^cache[-_]?", r"^caching[-_]?", r"^session[-_]?", r"^cookie[-_]?", r"^jwt[-_]?", r"^oauth[-_]?", r"^oidc[-_]?", r"^sso[-_]?", r"^saml[-_]?", r"^ldap[-_]?", r"^active[-_]?directory[-_]?auth", r"^rbac[-_]?", r"^acl[-_]?", r"^permission[-_]?", r"^authorization[-_]?", r"^authentication[-_]?", r"^auth[-_]?z", r"^auth[-_]?n", r"^rate[-_]?limit", r"^throttle[-_]?", r"^quota[-_]?", r"^circuit[-_]?breaker", r"^retry[-_]?", r"^timeout[-_]?", r"^deadline[-_]?", r"^backoff[-_]?", r"^jitter[-_]?", r"^load[-_]?balancing", r"^failover[-_]?", r"^high[-_]?availability", r"^fault[-_]?tolerance", r"^resilience[-_]?", r"^graceful[-_]?degradation", r"^bulkhead[-_]?", r"^hedge[-_]?", r"^sidecar[-_]?", r"^proxy[-_]?", r"^reverse[-_]?proxy", r"^forward[-_]?proxy", r"^gateway[-_]?", r"^edge[-_]?", r"^cdn[-_]?", r"^origin[-_]?", r"^s3[-_]?", r"^blob[-_]?", r"^object[-_]?storage", r"^file[-_]?storage", r"^block[-_]?storage", r"^nas[-_]?", r"^san[-_]?", r"^nfs[-_]?", r"^smb[-_]?", r"^cifs[-_]?", r"^ftp[-_]?", r"^sftp[-_]?", r"^ftps[-_]?", r"^scp[-_]?", r"^rsync[-_]?", r"^webdav[-_]?", r"^s3fs[-_]?", r"^fuse[-_]?", r"^mount[-_]?", r"^volume[-_]?", r"^disk[-_]?", r"^partition[-_]?", r"^raid[-_]?", r"^lvm[-_]?", r"^zfs[-_]?", r"^btrfs[-_]?", r"^ext[-_]?", r"^xfs[-_]?", r"^ntfs[-_]?", r"^fat[-_]?", r"^apfs[-_]?", r"^hfs[-_]?", r"^ufs[-_]?", r"^jfs[-_]?", r"^reiserfs[-_]?", ]), # Cloud & DevOps ("cloud-devops", [ r"^aws[-_]?", r"^gcp[-_]?", r"^azure[-_]?", r"^cloud[-_]?", r"^devops[-_]?", r"^sre[-_]?", r"^platform[-_]?", r"^k8s[-_]?", r"^kubernetes[-_]?", r"^helm[-_]?", r"^terraform[-_]?", r"^pulumi[-_]?", r"^ansible[-_]?", r"^puppet[-_]?", r"^chef[-_]?", r"^salt[-_]?", r"^vagrant[-_]?", r"^packer[-_]?", r"^docker[-_]?", r"^container[-_]?", r"^containerd[-_]?", r"^cri[-_]?o", r"^rkt[-_]?", r"^podman[-_]?", r"^buildah[-_]?", r"^skopeo[-_]?", r"^kaniko[-_]?", r"^jib[-_]?", r"^img[-_]?", r"^lxc[-_]?", r"^lxd[-_]?", r"^systemd[-_]?nspawn", r"^chroot[-_]?", r"^jail[-_]?", r"^zone[-_]?", r"^cgroup[-_]?", r"^namespace[-_]?", r"^unionfs[-_]?", r"^overlayfs[-_]?", r"^aufs[-_]?", r"^btrfs[-_]?", r"^zfs[-_]?", r"^snapshot[-_]?", r"^commit[-_]?", r"^image[-_]?", r"^layer[-_]?", r"^registry[-_]?", r"^harbor[-_]?", r"^quay[-_]?", r"^gcr[-_]?", r"^acr[-_]?", r"^ecr[-_]?", r"^dockerhub[-_]?", r"^ghcr[-_]?", r"^serverless[-_]?", r"^faas[-_]?", r"^lambda[-_]?", r"^function[-_]?", r"^api[-_]?gateway[-_]?", r"^apigateway[-_]?", r"^cloudfront[-_]?", r"^cloudflare[-_]?", r"^fastly[-_]?", r"^akamai[-_]?", r"^vercel[-_]?", r"^netlify[-_]?", r"^heroku[-_]?", r"^railway[-_]?", r"^render[-_]?", r"^fly[-_]?io", r"^digitalocean[-_]?", r"^linode[-_]?", r"^vultr[-_]?", r"^ovh[-_]?", r"^hetzner[-_]?", r"^scaleway[-_]?", r"^upcloud[-_]?", r"^aws[-_]?ec2", r"^aws[-_]?ecs", r"^aws[-_]?eks", r"^aws[-_]?fargate", r"^gce[-_]?", r"^gke[-_]?", r"^aks[-_]?", r"^ec2[-_]?", r"^ecs[-_]?", r"^eks[-_]?", r"^fargate[-_]?", r"^lambda[-_]?", r"^cloud[-_]?run", r"^cloud[-_]?functions", r"^azure[-_]?functions", r"^openfaas[-_]?", r"^knative[-_]?", r"^kubeless[-_]?", r"^fission[-_]?", r"^nuclio[-_]?", r"^nuage[-_]?", r"^os[-_]?", r"^rancher[-_]?", r"^openshift[-_]?", r"^okd[-_]?", r"^tanzu[-_]?", r"^anthos[-_]?", r"^eks[-_]?anywhere", r"^gke[-_]?on[-_]?prem", r"^azure[-_]?stack", r"^aws[-_]?outposts", r"^hybrid[-_]?cloud", r"^multi[-_]?cloud", r"^edge[-_]?computing", r"^iot[-_]?", r"^greengrass[-_]?", r"^iot[-_]?core", r"^iot[-_]?edge", r"^iot[-_]?hub", r"^event[-_]?grid", r"^event[-_]?hub", r"^sns[-_]?", r"^sqs[-_]?", r"^kinesis[-_]?", r"^pub[-_]?sub[-_]?", r"^cloud[-_]?pubsub", r"^service[-_]?bus", r"^eventbridge[-_]?", r"^step[-_]?functions", r"^sfn[-_]?", r"^state[-_]?machine", r"^workflow[-_]?orchestration", r"^argo[-_]?", r"^tekton[-_]?", r"^jenkins[-_]?", r"^gitlab[-_]?ci", r"^github[-_]?actions", r"^circleci[-_]?", r"^travis[-_]?", r"^bamboo[-_]?", r"^teamcity[-_]?", r"^drone[-_]?", r"^concourse[-_]?", r"^spinnaker[-_]?", r"^flux[-_]?", r"^flagger[-_]?", r"^keptn[-_]?", r"^litmus[-_]?", r"^chaos[-_]?", r"^gremlin[-_]?", r"^chaosmonkey[-_]?", r"^steadybit[-_]?", r"^gremlin[-_]?", r"^pumba[-_]?", r"^powerfulseal[-_]?", r"^chaos[-_]?mesh", r"^litmus[-_]?", r"^netem[-_]?", r"^toxiproxy[-_]?", r"^blockade[-_]?", r"^istio[-_]?", r"^linkerd[-_]?", r"^consul[-_]?connect", r"^aws[-_]?app[-_]?mesh", r"^traefik[-_]?mesh", r"^maesh[-_]?", r"^kuma[-_]?", r"^osm[-_]?", r"^cilium[-_]?", r"^calico[-_]?", r"^flannel[-_]?", r"^weave[-_]?", r"^cni[-_]?", r"^cilium[-_]?", r"^network[-_]?policy", r"^egress[-_]?", r"^ingress[-_]?", r"^load[-_]?balancer", r"^metal[-_]?lb", r"^nginx[-_]?ingress", r"^traefik[-_]?ingress", r"^haproxy[-_]?ingress", r"^kong[-_]?ingress", r"^ambassador[-_]?ingress", r"^gloo[-_]?", r"^supergloo[-_]?", r"^servicecatalog[-_]?", r"^crossplane[-_]?", r"^kUDO[-_]?", r"^operator[-_]?sdk", r"^kopf[-_]?", r"^shell[-_]?operator", r"^helm[-_]?operator", r"^operator[-_]?lifecycle", r"^olm[-_]?", r"^csv[-_]?", r"^subscription[-_]?", r"^installplan[-_]?", r"^catalogsource[-_]?", r"^packagemanifest[-_]?", r"^scorecard[-_]?", r"^bundle[-_]?", r"^index[-_]?image", ]), # Database ("database", [ r"^postgres", r"^mysql", r"^mongo", r"^redis", r"^cassandra", r"^cockroach", r"^cockroachdb", r"^yugabyte", r"^tidb", r"^vitess", r"^planetscale", r"^neon", r"^supabase", r"^fauna", r"^hasura", r"^prisma", r"^drizzle", r"^sequelize", r"^typeorm", r"^mongoose", r"^jpa", r"^hibernate", r"^sql[-_]?", r"^nosql[-_]?", r"^db[-_]?", r"^database[-_]?", r"^orm[-_]?", r"^query[-_]?", r"^index[-_]?", r"^migration[-_]?", r"^schema[-_]?", r"^table[-_]?", r"^column[-_]?", r"^row[-_]?", r"^record[-_]?", r"^entity[-_]?", r"^relation[-_]?", r"^join[-_]?", r"^transaction[-_]?", r"^acid[-_]?", r"^consistency[-_]?", r"^isolation[-_]?", r"^durability[-_]?", r"^locking[-_]?", r"^concurrency[-_]?", r"^sharding[-_]?", r"^partition[-_]?", r"^replication[-_]?", r"^failover[-_]?", r"^backup[-_]?", r"^restore[-_]?", r"^dump[-_]?", r"^import[-_]?", r"^export[-_]?", r"^etl[-_]?", r"^elt[-_]?", r"^cdc[-_]?", r"^change[-_]?data[-_]?capture", r"^wal[-_]?", r"^write[-_]?ahead[-_]?log", r"^binlog[-_]?", r"^redo[-_]?log", r"^undo[-_]?log", r"^checkpoint[-_]?", r"^vacuum[-_]?", r"^analyze[-_]?", r"^optimize[-_]?", r"^defragment[-_]?", r"^rebuild[-_]?", r"^reorganize[-_]?", r"^compact[-_]?", r"^compress[-_]?", r"^encrypt[-_]?", r"^tde[-_]?", r"^transparent[-_]?data[-_]?encryption", r"^ssl[-_]?", r"^tls[-_]?", r"^certificate[-_]?", r"^auth[-_]?", r"^rbac[-_]?", r"^row[-_]?level[-_]?security", r"^rls[-_]?", r"^view[-_]?", r"^materialized[-_]?view", r"^trigger[-_]?", r"^stored[-_]?procedure", r"^function[-_]?", r"^cursor[-_]?", r"^sequence[-_]?", r"^identity[-_]?", r"^auto[-_]?increment", r"^uuid[-_]?", r"^guid[-_]?", r"^primary[-_]?key", r"^foreign[-_]?key", r"^unique[-_]?key", r"^composite[-_]?key", r"^natural[-_]?key", r"^surrogate[-_]?key", r"^candidate[-_]?key", r"^alternate[-_]?key", r"^super[-_]?key", r"^minimal[-_]?superkey", r"^normalization[-_]?", r"^denormalization[-_]?", r"^first[-_]?normal[-_]?form", r"^second[-_]?normal[-_]?form", r"^third[-_]?normal[-_]?form", r"^bcnf[-_]?", r"^fourth[-_]?normal[-_]?form", r"^fifth[-_]?normal[-_]?form", r"^dknf[-_]?", r"^domain[-_]?key[-_]?normal[-_]?form", r"^sixth[-_]?normal[-_]?form", r"^join[-_]?dependency", r"^multivalued[-_]?dependency", r"^functional[-_]?dependency", r"^transitive[-_]?dependency", r"^partial[-_]?dependency", r"^full[-_]?functional[-_]?dependency", r"^trivial[-_]?dependency", r"^non[-_]?trivial[-_]?dependency", r"^armstrong[-_]?axiom", r"^closure[-_]?", r"^canonical[-_]?cover", r"^minimal[-_]?cover", r"^redundant[-_]?attribute", r"^extraneous[-_]?attribute", r"^decomposition[-_]?", r"^lossless[-_]?join", r"^dependency[-_]?preservation", r"^chase[-_]?algorithm", r"^tableau[-_]?", r"^fd[-_]?", r"^mvd[-_]?", r"^jdep[-_]?", r"^ind[-_]?", r"^inclusion[-_]?dependency", r"^eq[-_]?", r"^equality[-_]?generating[-_]?dependency", r"^tgd[-_]?", r"^tuple[-_]?generating[-_]?dependency", r"^egd[-_]?", r"^embedded[-_]?dependency", r"^full[-_]?dependency", r"^embedded[-_]?multivalued[-_]?dependency", r"^nested[-_]?multivalued[-_]?dependency", r"^acyclic[-_]?schema", r"^alpha[-_]?acyclic", r"^beta[-_]?acyclic", r"^gamma[-_]?acyclic", r"^berge[-_]?acyclic", r"^ Graham[-_]?reduction", r"^gyo[-_]?algorithm", r"^hypergraph[-_]?", r"^join[-_]?tree", r"^connected[-_]?component", r"^biconnected[-_]?component", r"^triconnected[-_]?component", r"^block[-_]?cut[-_]?vertex[-_]?tree", r"^spqr[-_]?tree", r"^modular[-_]?decomposition", r"^split[-_]?decomposition", r"^cograph[-_]?", r"^permutation[-_]?graph", r"^comparability[-_]?graph", r"^interval[-_]?graph", r"^chordal[-_]?graph", r"^perfect[-_]?graph", r"^threshold[-_]?graph", r"^split[-_]?graph", r"^cograph[-_]?", r"^pq[-_]?tree", r"^pc[-_]?tree", r"^uq[-_]?tree", r"^mdd[-_]?", r"^multi[-_]?valued[-_]?decision[-_]?diagram", r"^bdd[-_]?", r"^binary[-_]?decision[-_]?diagram", r"^ro[-_]?bdd", r"^reduced[-_]?ordered[-_]?bdd", r"^zdd[-_]?", r"^zero[-_]?suppressed[-_]?bdd", r"^fbdd[-_]?", r"^free[-_]?bdd", r"^obdd[-_]?", r"^ordered[-_]?bdd", r"^sbdd[-_]?", r"^shared[-_]?bdd", r"^tbdd[-_]?", r"^tagged[-_]?bdd", r"^index[-_]?structure", r"^b[-_]?tree[-_]?", r"^b[+-]?tree[-_]?", r"^btree[-_]?", r"^lsm[-_]?tree[-_]?", r"^log[-_]?structured[-_]?merge[-_]?tree", r"^sstable[-_]?", r"^sorted[-_]?string[-_]?table", r"^memtable[-_]?", r"^immutable[-_]?memtable", r"^flush[-_]?", r"^compaction[-_]?", r"^leveled[-_]?compaction", r"^tiered[-_]?compaction", r"^size[-_]?tiered[-_]?compaction", r"^time[-_]?tiered[-_]?compaction", r"^date[-_]?tiered[-_]?compaction", r"^fifo[-_]?compaction", r"^universal[-_]?compaction", r"^incremental[-_]?compaction", r"^partial[-_]?compaction", r"^subcompaction[-_]?", r"^parallel[-_]?compaction", r"^online[-_]?compaction", r"^offline[-_]?compaction", r"^manual[-_]?compaction", r"^automatic[-_]?compaction", r"^scheduled[-_]?compaction", r"^triggered[-_]?compaction", r"^adaptive[-_]?compaction", r"^dynamic[-_]?compaction", r"^static[-_]?compaction", r"^heuristic[-_]?compaction", r"^learning[-_]?based[-_]?compaction", r"^ml[-_]?driven[-_]?compaction", r"^ai[-_]?powered[-_]?compaction", r"^neural[-_]?compaction", r"^deep[-_]?compaction", r"^reinforcement[-_]?learning[-_]?compaction", r"^genetic[-_]?algorithm[-_]?compaction", r"^simulated[-_]?annealing[-_]?compaction", r"^particle[-_]?swarm[-_]?compaction", r"^ant[-_]?colony[-_]?compaction", r"^bee[-_]?colony[-_]?compaction", r"^firefly[-_]?algorithm[-_]?compaction", r"^bat[-_]?algorithm[-_]?compaction", r"^cuckoo[-_]?search[-_]?compaction", r"^harmony[-_]?search[-_]?compaction", r"^memetic[-_]?algorithm[-_]?compaction", r"^cultural[-_]?algorithm[-_]?compaction", r"^differential[-_]?evolution[-_]?compaction", r"^evolutionary[-_]?strategy[-_]?compaction", r"^covariance[-_]?matrix[-_]?adaptation[-_]?compaction", r"^natural[-_]?evolution[-_]?strategy[-_]?compaction", r"^estimation[-_]?of[-_]?distribution[-_]?algorithm[-_]?compaction", r"^cross[-_]?entropy[-_]?method[-_]?compaction", r"^population[-_]?based[-_]?incremental[-_]?learning[-_]?compaction", r"^compact[-_]?genetic[-_]?algorithm[-_]?compaction", r"^bayesian[-_]?optimization[-_]?compaction", r"^gaussian[-_]?process[-_]?compaction", r"^surrogate[-_]?model[-_]?compaction", r"^multi[-_]?fidelity[-_]?compaction", r"^transfer[-_]?learning[-_]?compaction", r"^meta[-_]?learning[-_]?compaction", r"^few[-_]?shot[-_]?learning[-_]?compaction", r"^zero[-_]?shot[-_]?learning[-_]?compaction", r"^one[-_]?shot[-_]?learning[-_]?compaction", r"^many[-_]?shot[-_]?learning[-_]?compaction", r"^active[-_]?learning[-_]?compaction", r"^online[-_]?learning[-_]?compaction", r"^incremental[-_]?learning[-_]?compaction", r"^continual[-_]?learning[-_]?compaction", r"^lifelong[-_]?learning[-_]?compaction", r"^never[-_]?ending[-_]?learning[-_]?compaction", r"^open[-_]?ended[-_]?learning[-_]?compaction", r"^curriculum[-_]?learning[-_]?compaction", r"^self[-_]?paced[-_]?learning[-_]?compaction", r"^bootstrap[-_]?learning[-_]?compaction", r"^co[-_]?training[-_]?compaction", r"^multi[-_]?view[-_]?learning[-_]?compaction", r"^multi[-_]?task[-_]?learning[-_]?compaction", r"^transfer[-_]?learning[-_]?compaction", r"^domain[-_]?adaptation[-_]?compaction", r"^domain[-_]?generalization[-_]?compaction", r"^out[-_]?of[-_]?distribution[-_]?detection[-_]?compaction", r"^anomaly[-_]?detection[-_]?compaction", r"^novelty[-_]?detection[-_]?compaction", r"^change[-_]?detection[-_]?compaction", r"^concept[-_]?drift[-_]?detection[-_]?compaction", r"^model[-_]?drift[-_]?detection[-_]?compaction", r"^data[-_]?drift[-_]?detection[-_]?compaction", r"^feature[-_]?drift[-_]?detection[-_]?compaction", r"^prediction[-_]?drift[-_]?detection[-_]?compaction", r"^label[-_]?drift[-_]?detection[-_]?compaction", r"^class[-_]?imbalance[-_]?detection[-_]?compaction", r"^long[-_]?tail[-_]?distribution[-_]?detection[-_]?compaction", r"^skew[-_]?detection[-_]?compaction", r"^bias[-_]?detection[-_]?compaction", r"^fairness[-_]?detection[-_]?compaction", r"^equity[-_]?detection[-_]?compaction", r"^inclusion[-_]?detection[-_]?compaction", r"^diversity[-_]?detection[-_]?compaction", r"^representation[-_]?detection[-_]?compaction", r"^sample[-_]?detection[-_]?compaction", r"^outlier[-_]?detection[-_]?compaction", r"^inlier[-_]?detection[-_]?compaction", r"^novelty[-_]?detection[-_]?compaction", r"^anomaly[-_]?detection[-_]?compaction", ]), # Data Engineering ("data-engineering", [ r"^data[-_]?engineer", r"^data[-_]?pipeline", r"^data[-_]?integration", r"^data[-_]?migration", r"^data[-_]?transformation", r"^data[-_]?validation", r"^data[-_]?quality", r"^data[-_]?cleaning", r"^data[-_]?preparation", r"^data[-_]?wrangling", r"^data[-_]?munging", r"^airflow[-_]?", r"^prefect[-_]?", r"^dagster[-_]?", r"^luigi[-_]?", r"^pinball[-_]?", r"^oozie[-_]?", r"^azkaban[-_]?", r"^conductor[-_]?", r"^temporal[-_]?", r"^cadence[-_]?", r"^argo[-_]?workflows", r"^tekton[-_]?", r"^kubeflow[-_]?", r"^mlflow[-_]?", r"^metaflow[-_]?", r"^dbt[-_]?", r"^dataform[-_]?", r"^looker[-_]?", r"^tableau[-_]?", r"^power[-_]?bi[-_]?", r"^qlik[-_]?", r"^sisense[-_]?", r"^domo[-_]?", r"^microstrategy[-_]?", r"^cognos[-_]?", r"^business[-_]?objects[-_]?", r"^sas[-_]?", r"^spss[-_]?", r"^stata[-_]?", r"^mplus[-_]?", r"^r[-_]?studio[-_]?", r"^jupyter[-_]?", r"^zeppelin[-_]?", r"^databricks[-_]?", r"^snowflake[-_]?", r"^bigquery[-_]?", r"^redshift[-_]?", r"^synapse[-_]?", r"^dremio[-_]?", r"^presto[-_]?", r"^trino[-_]?", r"^drill[-_]?", r"^impala[-_]?", r"^hive[-_]?", r"^pig[-_]?", r"^spark[-_]?", r"^flink[-_]?", r"^storm[-_]?", r"^samza[-_]?", r"^heron[-_]?", r"^kafka[-_]?streams", r"^kafka[-_]?connect", r"^ksql[-_]?", r"^pulsar[-_]?", r"^rocketmq[-_]?", r"^activemq[-_]?", r"^rabbitmq[-_]?", r"^zeromq[-_]?", r"^nats[-_]?", r"^redis[-_]?streams", r"^aws[-_]?kinesis", r"^google[-_]?pubsub", r"^azure[-_]?event[-_]?hubs", r"^datadog[-_]?", r"^newrelic[-_]?", r"^splunk[-_]?", r"^elk[-_]?", r"^elastic[-_]?", r"^logstash[-_]?", r"^kibana[-_]?", r"^grafana[-_]?", r"^prometheus[-_]?", r"^thanos[-_]?", r"^cortex[-_]?", r"^mimir[-_]?", r"^loki[-_]?", r"^tempo[-_]?", r"^jaeger[-_]?", r"^zipkin[-_]?", r"^opentelemetry[-_]?", r"^opentracing[-_]?", r"^opencensus[-_]?", r"^hadoop[-_]?", r"^hdfs[-_]?", r"^yarn[-_]?", r"^mapreduce[-_]?", r"^tez[-_]?", r"^falcon[-_]?", r"^nifi[-_]?", r"^streamsets[-_]?", r"^talend[-_]?", r"^informatica[-_]?", r"^pentaho[-_]?", r"^kettle[-_]?", r"^datastage[-_]?", r"^ab[-_]?initio[-_]?", r"^ssis[-_]?", r"^dts[-_]?", r"^replication[-_]?", r"^cdc[-_]?", r"^debezium[-_]?", r"^maxwell[-_]?", r"^canal[-_]?", r"^databus[-_]?", r"^singer[-_]?", r"^meltano[-_]?", r"^airbyte[-_]?", r"^fivetran[-_]?", r"^stitch[-_]?", r"^segment[-_]?", r"^rudderstack[-_]?", r"^snowplow[-_]?", r"^matillion[-_]?", r"^hevo[-_]?", r"^blendo[-_]?", r"^integrate[-_]?io", r"^xplenty[-_]?", r"^etleap[-_]?", r"^panoply[-_]?", r"^funnel[-_]?io", r"^warehouselabs[-_]?", r"^sc Ware[-_]?", r"^keboola[-_]?", r"^domo[-_]?", r"^periscope[-_]?", r"^mode[-_]?", r"^looker[-_]?", r"^metabase[-_]?", r"^redash[-_]?", r"^superset[-_]?", r"^preset[-_]?", r"^lightdash[-_]?", r"^evidence[-_]?", r"^hex[-_]?", r"^count[-_]?", r"^glean[-_]?", r"^thoughtspot[-_]?", r"^tellius[-_]?", r"^sisu[-_]?", r"^incorta[-_]?", r"^atscale[-_]?", r"^datameer[-_]?", r"^platfora[-_]?", r"^clearstory[-_]?", r"^alation[-_]?", r"^collibra[-_]?", r"^informatica[-_]?", r"^axelon[-_]?", r"^waterline[-_]?", r"^unifi[-_]?", r"^datahub[-_]?", r"^amundsen[-_]?", r"^marquez[-_]?", r"^openlineage[-_]?", r"^great[-_]?expectations[-_]?", r"^soda[-_]?", r"^deequ[-_]?", r"^monte[-_]?carlo[-_]?", r"^bigeye[-_]?", r"^anomalo[-_]?", r"^metaplane[-_]?", r"^datafold[-_]?", r"^data[-_]?diff[-_]?", r"^pitometer[-_]?", r"^acryl[-_]?", r"^linkedin[-_]?", r"^apache[-_]?", r"^confluent[-_]?", r"^cloudera[-_]?", r"^hortonworks[-_]?", r"^mapr[-_]?", r"^databricks[-_]?", r"^snowflake[-_]?", r"^fivetran[-_]?", r"^dbt[-_]?", r"^looker[-_]?", r"^tableau[-_]?", r"^powerbi[-_]?", r"^qlik[-_]?", r"^sisense[-_]?", r"^domo[-_]?", r"^microstrategy[-_]?", r"^cognos[-_]?", r"^businessobjects[-_]?", r"^sas[-_]?", r"^spss[-_]?", r"^stata[-_]?", r"^mplus[-_]?", r"^rstudio[-_]?", r"^jupyter[-_]?", r"^zeppelin[-_]?", r"^dremio[-_]?", r"^presto[-_]?", r"^trino[-_]?", r"^drill[-_]?", r"^impala[-_]?", r"^hive[-_]?", r"^pig[-_]?", r"^spark[-_]?", r"^flink[-_]?", r"^storm[-_]?", r"^samza[-_]?", r"^heron[-_]?", r"^kafkastreams[-_]?", r"^kafkaconnect[-_]?", r"^ksql[-_]?", r"^pulsar[-_]?", r"^rocketmq[-_]?", r"^activemq[-_]?", r"^rabbitmq[-_]?", r"^zeromq[-_]?", r"^nats[-_]?", r"^redisstreams[-_]?", r"^awskinesis[-_]?", r"^googlepubsub[-_]?", r"^azureeventhubs[-_]?", r"^datadog[-_]?", r"^newrelic[-_]?", r"^splunk[-_]?", r"^elk[-_]?", r"^elastic[-_]?", r"^logstash[-_]?", r"^kibana[-_]?", r"^grafana[-_]?", r"^prometheus[-_]?", r"^thanos[-_]?", r"^cortex[-_]?", r"^mimir[-_]?", r"^loki[-_]?", r"^tempo[-_]?", r"^jaeger[-_]?", r"^zipkin[-_]?", r"^opentelemetry[-_]?", r"^opentracing[-_]?", r"^opencensus[-_]?", r"^hadoop[-_]?", r"^hdfs[-_]?", r"^yarn[-_]?", r"^mapreduce[-_]?", r"^tez[-_]?", r"^falcon[-_]?", r"^nifi[-_]?", r"^streamsets[-_]?", r"^talend[-_]?", r"^informatica[-_]?", r"^pentaho[-_]?", r"^kettle[-_]?", r"^datastage[-_]?", r"^abinitio[-_]?", r"^ssis[-_]?", r"^dts[-_]?", r"^replication[-_]?", r"^cdc[-_]?", r"^debezium[-_]?", r"^maxwell[-_]?", r"^canal[-_]?", r"^databus[-_]?", r"^singer[-_]?", r"^meltano[-_]?", r"^airbyte[-_]?", r"^fivetran[-_]?", r"^stitch[-_]?", r"^segment[-_]?", r"^rudderstack[-_]?", r"^snowplow[-_]?", r"^matillion[-_]?", r"^hevo[-_]?", r"^blendo[-_]?", r"^integrate[-_]?io", r"^xplenty[-_]?", r"^etleap[-_]?", r"^panoply[-_]?", r"^funnel[-_]?io", r"^warehouselabs[-_]?", r"^scware[-_]?", r"^keboola[-_]?", r"^domo[-_]?", r"^periscope[-_]?", r"^mode[-_]?", r"^looker[-_]?", r"^metabase[-_]?", r"^redash[-_]?", r"^superset[-_]?", r"^preset[-_]?", r"^lightdash[-_]?", r"^evidence[-_]?", r"^hex[-_]?", r"^count[-_]?", r"^glean[-_]?", r"^thoughtspot[-_]?", r"^tellius[-_]?", r"^sisu[-_]?", r"^incorta[-_]?", r"^atscale[-_]?", r"^datameer[-_]?", r"^platfora[-_]?", r"^clearstory[-_]?", r"^alation[-_]?", r"^collibra[-_]?", r"^axelon[-_]?", r"^waterline[-_]?", r"^unifi[-_]?", r"^datahub[-_]?", r"^amundsen[-_]?", r"^marquez[-_]?", r"^openlineage[-_]?", r"^greatexpectations[-_]?", r"^soda[-_]?", r"^deequ[-_]?", r"^montecarlo[-_]?", r"^bigeye[-_]?", r"^anomalo[-_]?", r"^metaplane[-_]?", r"^datafold[-_]?", r"^datadiff[-_]?", r"^pitometer[-_]?", r"^acryl[-_]?", ]), # Testing & QA ("testing-qa", [ r"[-_]?testing[-_]?", r"^test[-_]?", r"^qa[-_]?", r"^quality[-_]?assurance[-_]?", r"^playwright[-_]?", r"^cypress[-_]?", r"^selenium[-_]?", r"^webdriver[-_]?", r"^puppeteer[-_]?", r"^jest[-_]?", r"^vitest[-_]?", r"^mocha[-_]?", r"^jasmine[-_]?", r"^karma[-_]?", r"^ava[-_]?", r"^tap[-_]?", r"^tape[-_]?", r"^lab[-_]?", r"^codecept[-_]?", r"^nightwatch[-_]?", r"^protractor[-_]?", r"^webdriverio[-_]?", r"^appium[-_]?", r"^detox[-_]?", r"^calabash[-_]?", r"^espresso[-_]?", r"^xcui[-_]?", r"^ EarlGrey[-_]?", r"^kif[-_]?", r"^frank[-_]?", r"^zucchini[-_]?", r"^kiwi[-_]?", r"^gherkin[-_]?", r"^cucumber[-_]?", r"^behat[-_]?", r"^specflow[-_]?", r"^gauge[-_]?", r"^turnip[-_]?", r"^spinach[-_]?", r"^lettuce[-_]?", r"^ freshen[-_]?", r"^ pytest[-_]?bdd", r"^ behave[-_]?", r"^ radish[-_]?", r"^ pytest[-_]?", r"^ unittest[-_]?", r"^ nose[-_]?", r"^ doctest[-_]?", r"^ trial[-_]?", r"^ testify[-_]?", r"^ gocheck[-_]?", r"^ ginkgo[-_]?", r"^ gomega[-_]?", r"^ testify[-_]?", r"^ assert[-_]?", r"^ hamcrest[-_]?", r"^ truth[-_]?", r"^ assertj[-_]?", r"^ fest[-_]?", r"^ jmock[-_]?", r"^ mockito[-_]?", r"^ powermock[-_]?", r"^ easymock[-_]?", r"^ wiremock[-_]?", r"^ mockserver[-_]?", r"^ mountebank[-_]?", r"^ pact[-_]?", r"^ spring[-_]?contract", r"^ consumer[-_]?driven[-_]?contract", r"^ cdc[-_]?", r"^ pactflow[-_]?", r"^ broker[-_]?", r"^ verification[-_]?", r"^ stub[-_]?", r"^ mock[-_]?", r"^ fake[-_]?", r"^ spy[-_]?", r"^ double[-_]?", r"^ dummy[-_]?", r"^ fixture[-_]?", r"^ factory[-_]?", r"^ builder[-_]?", r"^ object[-_]?mother", r"^ test[-_]?data", r"^ seed[-_]?", r"^ faker[-_]?", r"^ chance[-_]?", r"^ randexp[-_]?", r"^ casual[-_]?", r"^ mockaroo[-_]?", r"^ t[-_]?rex[-_]?", r"^ factory[-_]?boy[-_]?", r"^ model[-_]?mommy", r"^ machinist[-_]?", r"^ fabrication[-_]?", r"^ blueprints[-_]?", r"^ ex[-_]?machina[-_]?", r"^ blacksmith[-_]?", r"^ parrot[-_]?", r"^ forgery[-_]?", r"^ ffaker[-_]?", r"^ ffaker[-_]?", r"^ bogus[-_]?", r"^ autodoc[-_]?", r"^ rswag[-_]?", r"^ swagger[-_]?spec", r"^ grape[-_]?swagger", r"^ flasgger[-_]?", r"^ drf[-_]?yasg[-_]?", r"^ django[-_]?rest[-_]?swagger", r"^ tsoa[-_]?", r"^ routing[-_]?controller[-_]?", r"^ apipie[-_]?", r"^ rspec[-_]?api[-_]?documentation", r"^ slate[-_]?", r"^ widdershins[-_]?", r"^ openapi[-_]?generator", r"^ swagger[-_]?codegen", r"^ openapi[-_]?codegen", r"^ autorest[-_]?", r"^ nswag[-_]?", r"^ swagger[-_]?hub", r"^ apicurio[-_]?", r"^ stoplight[-_]?", r"^ postman[-_]?", r"^ newman[-_]?", r"^ htmlextra[-_]?", r"^ junit[-_]?", r"^ xunit[-_]?", r"^ nunit[-_]?", r"^ mstest[-_]?", r"^ catch[-_]?", r"^ boost[-_]?test", r"^ cppunit[-_]?", r"^ google[-_]?test", r"^ gtest[-_]?", r"^ cmocka[-_]?", r"^ unity[-_]?", r"^ cexception[-_]?", r"^ ceedling[-_]?", r"^ tdd[-_]?", r"^ bdd[-_]?", r"^ atdd[-_]?", r"^ specification[-_]?by[-_]?example", r"^ sbe[-_]?", r"^ example[-_]?mapping", r"^ oopsi[-_]?", r"^ output[-_]?mapping", r"^ feature[-_]?mapping", r"^ story[-_]?mapping", r"^ impact[-_]?mapping", r"^ mind[-_]?mapping", r"^ user[-_]?story[-_]?mapping", r"^ journey[-_]?mapping", r"^ experience[-_]?mapping", r"^ empathy[-_]?mapping", r"^ service[-_]?blueprint", r"^ business[-_]?model[-_]?canvas", r"^ lean[-_]?canvas", r"^ value[-_]?proposition[-_]?canvas", r"^ product[-_]?vision[-_]?board", r"^ goal[-_]?oriented[-_]?roadmap", r"^ now[-_]?next[-_]?later[-_]?roadmap", r"^ theme[-_]?based[-_]?roadmap", r"^ outcome[-_]?based[-_]?roadmap", r"^ feature[-_]?based[-_]?roadmap", r"^ technology[-_]?roadmap", r"^ architectural[-_]?roadmap", r"^ capability[-_]?roadmap", r"^ strategy[-_]?roadmap", r"^ product[-_]?roadmap", r"^ portfolio[-_]?roadmap", r"^ solution[-_]?roadmap", r"^ program[-_]?roadmap", r"^ project[-_]?roadmap", r"^ release[-_]?roadmap", r"^ sprint[-_]?roadmap", r"^ iteration[-_]?roadmap", r"^ increment[-_]?roadmap", r"^ version[-_]?roadmap", r"^ milestone[-_]?roadmap", r"^ epic[-_]?roadmap", r"^ story[-_]?roadmap", r"^ task[-_]?roadmap", r"^ subtask[-_]?roadmap", r"^ bug[-_]?roadmap", r"^ issue[-_]?roadmap", r"^ defect[-_]?roadmap", r"^ enhancement[-_]?roadmap", r"^ improvement[-_]?roadmap", r"^ optimization[-_]?roadmap", r"^ refactoring[-_]?roadmap", r"^ modernization[-_]?roadmap", r"^ migration[-_]?roadmap", r"^ upgrade[-_]?roadmap", r"^ deprecation[-_]?roadmap", r"^ retirement[-_]?roadmap", r"^ sunset[-_]?roadmap", r"^ end[-_]?of[-_]?life[-_]?roadmap", r"^ end[-_]?of[-_]?support[-_]?roadmap", r"^ end[-_]?of[-_]?service[-_]?roadmap", r"^ end[-_]?of[-_]?sale[-_]?roadmap", r"^ end[-_]?of[-_]?availability[-_]?roadmap", r"^ lifecycle[-_]?roadmap", r"^ sustainability[-_]?roadmap", r"^ resilience[-_]?roadmap", r"^ reliability[-_]?roadmap", r"^ availability[-_]?roadmap", r"^ maintainability[-_]?roadmap", r"^ scalability[-_]?roadmap", r"^ performance[-_]?roadmap", r"^ security[-_]?roadmap", r"^ compliance[-_]?roadmap", r"^ governance[-_]?roadmap", r"^ risk[-_]?roadmap", r"^ audit[-_]?roadmap", r"^ monitoring[-_]?roadmap", r"^ observability[-_]?roadmap", r"^ telemetry[-_]?roadmap", r"^ tracing[-_]?roadmap", r"^ logging[-_]?roadmap", r"^ metrics[-_]?roadmap", r"^ alerting[-_]?roadmap", r"^ incident[-_]?roadmap", r"^ response[-_]?roadmap", r"^ recovery[-_]?roadmap", r"^ continuity[-_]?roadmap", r"^ disaster[-_]?recovery[-_]?roadmap", r"^ backup[-_]?roadmap", r"^ restore[-_]?roadmap", r"^ archive[-_]?roadmap", r"^ retention[-_]?roadmap", r"^ deletion[-_]?roadmap", r"^ destruction[-_]?roadmap", r"^ sanitization[-_]?roadmap", r"^ anonymization[-_]?roadmap", r"^ pseudonymization[-_]?roadmap", r"^ encryption[-_]?roadmap", r"^ key[-_]?management[-_]?roadmap", r"^ certificate[-_]?roadmap", r"^ identity[-_]?roadmap", r"^ access[-_]?roadmap", r"^ authentication[-_]?roadmap", r"^ authorization[-_]?roadmap", r"^ federation[-_]?roadmap", r"^ single[-_]?sign[-_]?on[-_]?roadmap", r"^ multi[-_]?factor[-_]?authentication[-_]?roadmap", r"^ biometrics[-_]?roadmap", r"^ password[-_]?roadmap", r"^ secrets[-_]?roadmap", r"^ vault[-_]?roadmap", r"^ token[-_]?roadmap", r"^ cookie[-_]?roadmap", r"^ session[-_]?roadmap", r"^ cache[-_]?roadmap", r"^ cdn[-_]?roadmap", r"^ load[-_]?balancing[-_]?roadmap", r"^ failover[-_]?roadmap", r"^ replication[-_]?roadmap", r"^ sharding[-_]?roadmap", r"^ partitioning[-_]?roadmap", r"^ indexing[-_]?roadmap", r"^ query[-_]?optimization[-_]?roadmap", r"^ schema[-_]?evolution[-_]?roadmap", r"^ data[-_]?migration[-_]?roadmap", r"^ data[-_]?integration[-_]?roadmap", r"^ data[-_]?quality[-_]?roadmap", r"^ data[-_]?governance[-_]?roadmap", r"^ data[-_]?lineage[-_]?roadmap", r"^ data[-_]?catalog[-_]?roadmap", r"^ data[-_]?dictionary[-_]?roadmap", r"^ data[-_]?warehouse[-_]?roadmap", r"^ data[-_]?lake[-_]?roadmap", r"^ data[-_]?mesh[-_]?roadmap", r"^ data[-_]?fabric[-_]?roadmap", r"^ data[-_]?ops[-_]?roadmap", r"^ data[-_]?platform[-_]?roadmap", r"^ data[-_]?infrastructure[-_]?roadmap", r"^ data[-_]?architecture[-_]?roadmap", r"^ data[-_]?modeling[-_]?roadmap", r"^ data[-_]?design[-_]?roadmap", r"^ data[-_]?engineering[-_]?roadmap", r"^ data[-_]?science[-_]?roadmap", r"^ data[-_]?analytics[-_]?roadmap", r"^ data[-_]?visualization[-_]?roadmap", r"^ data[-_]?storytelling[-_]?roadmap", r"^ data[-_]?journalism[-_]?roadmap", r"^ data[-_]?literacy[-_]?roadmap", r"^ data[-_]?ethics[-_]?roadmap", r"^ data[-_]?privacy[-_]?roadmap", r"^ data[-_]?protection[-_]?roadmap", r"^ data[-_]?sovereignty[-_]?roadmap", r"^ data[-_]?residency[-_]?roadmap", r"^ data[-_]?localization[-_]?roadmap", r"^ data[-_]?globalization[-_]?roadmap", r"^ data[-_]?internationalization[-_]?roadmap", r"^ data[-_]?localization[-_]?roadmap", ]), # API & Integration ("api-integration", [ r"^api[-_]?", r"^graphql[-_]?", r"^rest[-_]?", r"^soap[-_]?", r"^grpc[-_]?", r"^openapi[-_]?", r"^swagger[-_]?", r"^postman[-_]?", r"^insomnia[-_]?", r"^hoppscotch[-_]?", r"^webhook[-_]?", r"^integration[-_]?", r"^connector[-_]?", r"^adapter[-_]?", r"^bridge[-_]?", r"^gateway[-_]?", r"^proxy[-_]?", r"^relay[-_]?", r"^broker[-_]?", r"^mediator[-_]?", r"^orchestrator[-_]?", r"^choreography[-_]?", r"^saga[-_]?", r"^compensating[-_]?transaction", r"^two[-_]?phase[-_]?commit", r"^2pc[-_]?", r"^three[-_]?phase[-_]?commit", r"^3pc[-_]?", r"^paxos[-_]?", r"^raft[-_]?", r"^zab[-_]?", r"^viewstamped[-_]?replication", r"^vr[-_]?replication[-_]?", r"^chain[-_]?replication", r"^primary[-_]?backup[-_]?", r"^active[-_]?replication", r"^passive[-_]?replication", r"^semi[-_]?active[-_]?replication", r"^multi[-_]?primary[-_]?replication", r"^single[-_]?primary[-_]?replication", r"^group[-_]?replication[-_]?", r"^galera[-_]?", r"^percona[-_]?xtradb[-_]?cluster", r"^mariadb[-_]?columnstore", r"^mysql[-_]?ndb[-_]?cluster", r"^innodb[-_]?cluster", r"^group[-_]?replication[-_]?", r"^wsrep[-_]?", r"^ certification[-_]?based[-_]?replication", r"^ conflict[-_]?detection[-_]?replication", r"^ conflict[-_]?resolution[-_]?replication", r"^ last[-_]?write[-_]?wins[-_]?replication", r"^ first[-_]?write[-_]?wins[-_]?replication", r"^ custom[-_]?merge[-_]?replication", r"^ operational[-_]?transformation[-_]?replication", r"^ state[-_]?machine[-_]?replication", r"^ virtual[-_]?synchrony[-_]?replication", r"^ extended[-_]?virtual[-_]?synchrony[-_]?replication", r"^ totem[-_]?single[-_]?ring[-_]?ordering[-_]?replication", r"^ menasce[-_]?muntz[-_]?replication", r"^ quorumbased[-_]?replication[-_]?", r"^ weighted[-_]?voting[-_]?replication[-_]?", r"^ majority[-_]?voting[-_]?replication[-_]?", r"^ read[-_]?one[-_]?write[-_]?all[-_]?replication[-_]?", r"^ read[-_]?any[-_]?write[-_]?all[-_]?replication[-_]?", r"^ read[-_]?quorum[-_]?write[-_]?quorum[-_]?replication[-_]?", r"^ read[-_]?one[-_]?write[-_]?quorum[-_]?replication[-_]?", r"^ read[-_]?quorum[-_]?write[-_]?one[-_]?replication[-_]?", r"^ read[-_]?one[-_]?write[-_]?one[-_]?replication[-_]?", r"^ eventual[-_]?consistency[-_]?replication[-_]?", r"^ strong[-_]?consistency[-_]?replication[-_]?", r"^ causal[-_]?consistency[-_]?replication[-_]?", r"^ sequential[-_]?consistency[-_]?replication[-_]?", r"^ linearizability[-_]?replication[-_]?", r"^ strict[-_]?serializability[-_]?replication[-_]?", r"^ serializable[-_]?replication[-_]?", r"^ snapshot[-_]?isolation[-_]?replication[-_]?", r"^ repeatable[-_]?read[-_]?replication[-_]?", r"^ read[-_]?committed[-_]?replication[-_]?", r"^ read[-_]?uncommitted[-_]?replication[-_]?", r"^ monotonic[-_]?reads[-_]?replication[-_]?", r"^ monotonic[-_]?writes[-_]?replication[-_]?", r"^ read[-_]?your[-_]?writes[-_]?replication[-_]?", r"^ writes[-_]?follow[-_]?reads[-_]?replication[-_]?", r"^ pipelined[-_]?random[-_]?access[-_]?memory[-_]?replication[-_]?", r"^ pram[-_]?replication[-_]?", r"^ causal[-_]?memory[-_]?replication[-_]?", r"^ processor[-_]?consistency[-_]?replication[-_]?", r"^ slow[-_]?memory[-_]?replication[-_]?", r"^ hybrid[-_]?logical[-_]?clock[-_]?replication[-_]?", r"^ hlc[-_]?replication[-_]?", r"^ lamport[-_]?timestamp[-_]?replication[-_]?", r"^ vector[-_]?clock[-_]?replication[-_]?", r"^ version[-_]?vector[-_]?replication[-_]?", r"^ dotted[-_]?version[-_]?vector[-_]?replication[-_]?", r"^ causal[-_]?broadcast[-_]?replication[-_]?", r"^ uniform[-_]?causal[-_]?broadcast[-_]?replication[-_]?", r"^ fifo[-_]?broadcast[-_]?replication[-_]?", r"^ uniform[-_]?fifo[-_]?broadcast[-_]?replication[-_]?", r"^ atomic[-_]?broadcast[-_]?replication[-_]?", r"^ uniform[-_]?atomic[-_]?broadcast[-_]?replication[-_]?", r"^ consensus[-_]?broadcast[-_]?replication[-_]?", r"^ uniform[-_]?consensus[-_]?broadcast[-_]?replication[-_]?", r"^ total[-_]?order[-_]?broadcast[-_]?replication[-_]?", r"^ uniform[-_]?total[-_]?order[-_]?broadcast[-_]?replication[-_]?", r"^ causal[-_]?total[-_]?order[-_]?broadcast[-_]?replication[-_]?", r"^ uniform[-_]?causal[-_]?total[-_]?order[-_]?broadcast[-_]?replication[-_]?", r"^ byzantine[-_]?fault[-_]?tolerant[-_]?replication[-_]?", r"^ bft[-_]?replication[-_]?", r"^ pbft[-_]?", r"^ practical[-_]?byzantine[-_]?fault[-_]?tolerance[-_]?replication[-_]?", r"^ hotstuff[-_]?", r"^ streamlet[-_]?", r"^ sync[-_]?hotstuff[-_]?", r"^ partial[-_]?synchronous[-_]?bft[-_]?", r"^ asynchronous[-_]?bft[-_]?", r"^ honeybadger[-_]?bft[-_]?", r"^ vbft[-_]?", r"^ tendermint[-_]?", r"^ cosmos[-_]?sdk[-_]?", r"^ substrate[-_]?", r"^ polkadot[-_]?", r"^ cosmos[-_]?", r"^ ibc[-_]?", r"^ inter[-_]?blockchain[-_]?communication[-_]?", r"^ bridge[-_]?", r"^ cross[-_]?chain[-_]?", r"^ multi[-_]?chain[-_]?", r"^ parachain[-_]?", r"^ parathread[-_]?", r"^ collator[-_]?", r"^ fisherman[-_]?", r"^ nominator[-_]?", r"^ validator[-_]?", r"^ delegator[-_]?", r"^ staker[-_]?", r"^ miner[-_]?", r"^ forger[-_]?", r"^ block[-_]?producer[-_]?", r"^ slot[-_]?leader[-_]?", r"^ epoch[-_]?", r"^ era[-_]?", r"^ round[-_]?", r"^ view[-_]?", r"^ height[-_]?", r"^ depth[-_]?", r"^ finality[-_]?", r"^ justification[-_]?", r"^ epoch[-_]?", r"^ era[-_]?", r"^ slot[-_]?", r"^ round[-_]?", r"^ view[-_]?", r"^ height[-_]?", r"^ depth[-_]?", r"^ finality[-_]?", r"^ justification[-_]?", ]), # Programming Languages & Core Frameworks ("languages-frameworks", [ r"^typescript[-_]?", r"^javascript[-_]?", r"^python[-_]?", r"^rust[-_]?", r"^go[-_]?", r"^golang[-_]?", r"^java[-_]?", r"^csharp[-_]?", r"^dotnet[-_]?", r"^php[-_]?", r"^ruby[-_]?", r"^elixir[-_]?", r"^haskell[-_]?", r"^scala[-_]?", r"^kotlin[-_]?", r"^swift[-_]?", r"^c[-_]?programming", r"^cpp[-_]?", r"^c\+\+[-_]?", r"^c\+\+[-_]?pro", r"^c[-_]?pro", r"^shell[-_]?", r"^bash[-_]?", r"^powershell[-_]?", r"^perl[-_]?", r"^lua[-_]?", r"^r[-_]?programming", r"^julia[-_]?", r"^matlab[-_]?", r"^octave[-_]?", r"^fortran[-_]?", r"^cobol[-_]?", r"^ada[-_]?", r"^pascal[-_]?", r"^delphi[-_]?", r"^lisp[-_]?", r"^clojure[-_]?", r"^scheme[-_]?", r"^racket[-_]?", r"^erlang[-_]?", r"^ocaml[-_]?", r"^fsharp[-_]?", r"^dart[-_]?", r"^flutter[-_]?", r"^groovy[-_]?", r"^clojure[-_]?", r"^nim[-_]?", r"^crystal[-_]?", r"^dlang[-_]?", r"^zig[-_]?", r"^vlang[-_]?", r"^odin[-_]?", r"^jai[-_]?", r"^vale[-_]?", r"^mojo[-_]?", r"^carbon[-_]?", r"^cppfront[-_]?", r"^circle[-_]?", r"^verona[-_]?", r"^pony[-_]?", r"^red[-_]?", r"^rebol[-_]?", r"^smalltalk[-_]?", r"^pharo[-_]?", r"^squeak[-_]?", r"^gnu[-_]?smalltalk", r"^visualworks[-_]?", r"^va[-_]?smalltalk", r"^gemstone[-_]?", r"^glamorous[-_]?toolkit[-_]?", r"^gt[-_]?", r"^pharo[-_]?", r"^squeak[-_]?", r"^newspeak[-_]?", r"^self[-_]?", r"^io[-_]?", r"^ioke[-_]?", r"^picolisp[-_]?", r"^newlisp[-_]?", r"^ark[-_]?", r"^hy[-_]?", r"^shen[-_]?", r"^kawa[-_]?", r"^sisc[-_]?", r"^abcl[-_]?", r"^armed[-_]?bear[-_]?common[-_]?lisp", r"^clasp[-_]?", r"^ccl[-_]?", r"^ccl[-_]?", r"^ecl[-_]?", r"^sbcl[-_]?", r"^cmucl[-_]?", r"^clisp[-_]?", r"^gcl[-_]?", r"^xcl[-_]?", r"^mkcl[-_]?", r"^lw[-_]?", r"^allegro[-_]?", r"^lispworks[-_]?", r"^corman[-_]?lisp", r"^digitool[-_]?", r"^mcl[-_]?", r"^openmcl[-_]?", r"^clozure[-_]?cl", r"^ccl[-_]?", r"^jscl[-_]?", r"^cl[-_]?javascript", r"^parenscript[-_]?", r"^cl[-_]?python", r"^cl4py[-_]?", r"^burgled[-_]?batteries[-_]?", r"^pycl[-_]?", r"^ecl[-_]?", r"^mezzano[-_]?", r"^movitz[-_]?", r"^muerte[-_]?", r"^lisp[-_]?os[-_]?", r"^genera[-_]?", r"^open[-_]?genera[-_]?", r"^freedows[-_]?", r"^lisp[-_]?machine[-_]?", r"^symbolics[-_]?", r"^lmi[-_]?", r"^ti[-_]?", r"^explorer[-_]?", r"^lambda[-_]?", r"^mit[-_]?", r"^scheme[-_]?", r"^racket[-_]?", r"^guile[-_]?", r"^chicken[-_]?", r"^gambit[-_]?", r"^bigloo[-_]?", r"^stalingrad[-_]?", r"^larceny[-_]?", r"^ikarus[-_]?", r"^ypsilon[-_]?", r"^mosh[-_]?", r"^sagittarius[-_]?", r"^foment[-_]?", r"^vicare[-_]?", r"^iron[-_]?scheme[-_]?", r"^biwa[-_]?scheme[-_]?", r"^scheme[-_]?2js[-_]?", r"^hackett[-_]?", r"^cur[-_]?", r"^curry[-_]?", r"^haskell[-_]?", r"^ghc[-_]?", r"^cabal[-_]?", r"^stack[-_]?", r"^ghcup[-_]?", r"^hls[-_]?", r"^haskell[-_]?language[-_]?server[-_]?", r"^hlint[-_]?", r"^ormolu[-_]?", r"^fourmolu[-_]?", r"^stylish[-_]?haskell[-_]?", r"^brittany[-_]?", r"^hindent[-_]?", r"^hformat[-_]?", r"^hfmt[-_]?", r"^haskell[-_]?format[-_]?", r"^haskell[-_]?beautifier[-_]?", r"^haskell[-_]?prettifier[-_]?", r"^haskell[-_]?tidy[-_]?", r"^haskell[-_]?clean[-_]?", r"^haskell[-_]?lint[-_]?", r"^haskell[-_]?check[-_]?", r"^haskell[-_]?test[-_]?", r"^haskell[-_]?spec[-_]?", r"^haskell[-_]?verify[-_]?", r"^haskell[-_]?prove[-_]?", r"^haskell[-_]?theorem[-_]?prover[-_]?", r"^haskell[-_]?proof[-_]?", r"^haskell[-_]?formal[-_]?", r"^haskell[-_]?verification[-_]?", r"^haskell[-_]?validation[-_]?", r"^haskell[-_]?type[-_]?", r"^haskell[-_]?kind[-_]?", r"^haskell[-_]?class[-_]?", r"^haskell[-_]?instance[-_]?", r"^haskell[-_]?deriving[-_]?", r"^haskell[-_]?generic[-_]?", r"^haskell[-_]?lens[-_]?", r"^haskell[-_]?optics[-_]?", r"^haskell[-_]?traversal[-_]?", r"^haskell[-_]?fold[-_]?", r"^haskell[-_]?monoid[-_]?", r"^haskell[-_]?functor[-_]?", r"^haskell[-_]?applicative[-_]?", r"^haskell[-_]?monad[-_]?", r"^haskell[-_]?transformer[-_]?", r"^haskell[-_]?mtl[-_]?", r"^haskell[-_]?free[-_]?", r"^haskell[-_]?freer[-_]?", r"^haskell[-_]?poly[-_]?", r"^haskell[-_]?extensible[-_]?", r"^haskell[-_]?effect[-_]?", r"^haskell[-_]?capability[-_]?", r"^haskell[-_]?reader[-_]?", r"^haskell[-_]?writer[-_]?", r"^haskell[-_]?state[-_]?", r"^haskell[-_]?rws[-_]?", r"^haskell[-_]?cont[-_]?", r"^haskell[-_]?either[-_]?", r"^haskell[-_]?maybe[-_]?", r"^haskell[-_]?list[-_]?", r"^haskell[-_]?nonempty[-_]?", r"^haskell[-_]?vector[-_]?", r"^haskell[-_]?array[-_]?", r"^haskell[-_]?map[-_]?", r"^haskell[-_]?set[-_]?", r"^haskell[-_]?tree[-_]?", r"^haskell[-_]?graph[-_]?", r"^haskell[-_]?heap[-_]?", r"^haskell[-_]?queue[-_]?", r"^haskell[-_]?stack[-_]?", r"^haskell[-_]?deque[-_]?", r"^haskell[-_]?sequence[-_]?", r"^haskell[-_]?stream[-_]?", r"^haskell[-_]?iterator[-_]?", r"^haskell[-_]?enumerator[-_]?", r"^haskell[-_]?conduit[-_]?", r"^haskell[-_]?pipes[-_]?", r"^haskell[-_]?machines[-_]?", r"^haskell[-_]?foldl[-_]?", r"^haskell[-_]?folds[-_]?", r"^haskell[-_]?reducers[-_]?", r"^haskell[-_]?transducers[-_]?", r"^haskell[-_]?lens[-_]?", r"^haskell[-_]?prism[-_]?", r"^haskell[-_]?traversal[-_]?", r"^haskell[-_]?affine[-_]?traversal[-_]?", r"^haskell[-_]?setter[-_]?", r"^haskell[-_]?getter[-_]?", r"^haskell[-_]?review[-_]?", r"^haskell[-_]?iso[-_]?", r"^haskell[-_]?equality[-_]?", r"^haskell[-_]?projection[-_]?", r"^haskell[-_]?injection[-_]?", r"^haskell[-_]?lens[-_]?family[-_]?", r"^haskell[-_]?van[-_]?laarhoven[-_]?lens[-_]?", r"^haskell[-_]?profunctor[-_]?optics[-_]?", r"^haskell[-_]?indexed[-_]?optics[-_]?", r"^haskell[-_]?bi[-_]?optics[-_]?", r"^haskell[-_]?grate[-_]?", r"^haskell[-_]?glass[-_]?", r"^haskell[-_]? Kaleidoscope[-_]?", r"^haskell[-_]?achromatic[-_]?lens[-_]?", r"^haskell[-_]?partial[-_]?lens[-_]?", r"^haskell[-_]?failing[-_]?lens[-_]?", r"^haskell[-_]?taking[-_]?lens[-_]?", r"^haskell[-_]?dropping[-_]?lens[-_]?", r"^haskell[-_]?filtered[-_]?lens[-_]?", r"^haskell[-_]?mirrored[-_]?lens[-_]?", r"^haskell[-_]?simple[-_]?lens[-_]?", r"^haskell[-_]?compound[-_]?lens[-_]?", r"^haskell[-_]?zoom[-_]?", r"^haskell[-_]?magnify[-_]?", r"^haskell[-_]?clone[-_]?lens[-_]?", r"^haskell[-_]?generate[-_]?lens[-_]?", r"^haskell[-_]?make[-_]?lenses[-_]?", r"^haskell[-_]?template[-_]?haskell[-_]?", r"^haskell[-_]?th[-_]?", r"^haskell[-_]?quasi[-_]?quote[-_]?", r"^haskell[-_]?qq[-_]?", r"^haskell[-_]?haskell[-_]?quote[-_]?", r"^haskell[-_]?hs[-_]?quote[-_]?", r"^haskell[-_]?parse[-_]?haskell[-_]?", r"^haskell[-_]?haskell[-_]?parser[-_]?", r"^haskell[-_]?haskell[-_]?lexer[-_]?", r"^haskell[-_]?haskell[-_]?tokenizer[-_]?", r"^haskell[-_]?haskell[-_]?grammar[-_]?", r"^haskell[-_]?haskell[-_]?ast[-_]?", r"^haskell[-_]?haskell[-_]?compiler[-_]?", r"^haskell[-_]?haskell[-_]?interpreter[-_]?", r"^haskell[-_]?haskell[-_]?vm[-_]?", r"^haskell[-_]?haskell[-_]?runtime[-_]?", r"^haskell[-_]?haskell[-_]?gc[-_]?", r"^haskell[-_]?haskell[-_]?memory[-_]?", r"^haskell[-_]?haskell[-_]?thread[-_]?", r"^haskell[-_]?haskell[-_]?async[-_]?", r"^haskell[-_]?haskell[-_]?concurrent[-_]?", r"^haskell[-_]?haskell[-_]?parallel[-_]?", r"^haskell[-_]?haskell[-_]?stm[-_]?", r"^haskell[-_]?haskell[-_]?software[-_]?transactional[-_]?memory[-_]?", r"^haskell[-_]?haskell[-_]?atom[-_]?", r"^haskell[-_]?haskell[-_]?ref[-_]?", r"^haskell[-_]?haskell[-_]?mvar[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?", r"^haskell[-_]?haskell[-_]?tmvar[-_]?", r"^haskell[-_]?haskell[-_]?tchan[-_]?", r"^haskell[-_]?haskell[-_]?tbqueue[-_]?", r"^haskell[-_]?haskell[-_]?tqueue[-_]?", r"^haskell[-_]?haskell[-_]?tarray[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?array[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?hashmap[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?map[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?set[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?list[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?queue[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?stack[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?heap[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?tree[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?graph[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?matrix[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?vector[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?bytestring[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?text[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?lazy[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?strict[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?unboxed[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?boxed[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?storable[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?primitive[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?foreign[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ffi[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?capi[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ccall[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?stdcall[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?fastccall[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?interruptible[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?safe[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?unsafe[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?prim[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?internal[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?prim[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?int[-_]?prim[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?word[-_]?prim[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?float[-_]?prim[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?double[-_]?prim[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?char[-_]?prim[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?int[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?word[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?float[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?double[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?char[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ptr[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?funptr[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stableptr[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mstableptr[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?weakptr[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?conc[-_]?data[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?threadid[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?tso[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?block[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?capability[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?task[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?spark[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?par[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?seq[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pseq[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?seqa[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?deepseq[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rnf[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?force[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]? NFData[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?generic[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?derivable[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?deriving[-_]?via[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?deriving[-_]?strategies[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?standalone[-_]?deriving[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?empty[-_]?deriving[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stock[-_]?deriving[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?newtype[-_]?deriving[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?anyclass[-_]?deriving[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pattern[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?view[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pattern[-_]?guards[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bang[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?lazy[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?as[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?record[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?strict[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?irrefutable[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?refutable[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?nested[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?or[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?nplusk[-_]?patterns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pattern[-_]?synonyms[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?complete[-_]?pragmas[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?overloaded[-_]?record[-_]?dot[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?record[-_]?puns[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?record[-_]?wild[-_]?cards[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?duplicate[-_]?record[-_]?fields[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?no[-_]?field[-_]?selectors[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?field[-_]?selectors[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ambiguous[-_]?record[-_]?fields[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?disambiguate[-_]?record[-_]?fields[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?named[-_]?record[-_]?wild[-_]?cards[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?large[-_]?records[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?souffle[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?datalog[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?logic[-_]?programming[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?constraint[-_]?programming[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?answer[-_]?set[-_]?programming[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?asp[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?smt[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sat[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?solver[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?tactic[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?proof[-_]?search[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?automated[-_]?reasoning[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?theorem[-_]?proving[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?model[-_]?checking[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?symbolic[-_]?execution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?concolic[-_]?execution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?fuzzing[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?property[-_]?based[-_]?testing[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?quickcheck[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?smallcheck[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?lazy[-_]?smallcheck[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?leancheck[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?feat[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?quickcheck[-_]?inspired[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?hedgehog[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?validity[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?genvalidity[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sv[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?state[-_]?vector[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?random[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?splitmix[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mersenne[-_]?twister[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pcg[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?tf[-_]?random[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?chaos[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?random[-_]?fu[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?uniform[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?normal[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gaussian[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gamma[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?beta[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?dirichlet[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?poisson[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?binomial[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?multinomial[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?categorical[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?geometric[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?hypergeometric[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?negative[-_]?binomial[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?uniform[-_]?discrete[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?zipf[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?zeta[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pareto[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?weibull[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?exponential[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?laplace[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?cauchy[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?logistic[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?log[-_]?normal[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?student[-_]?t[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?chi[-_]?square[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?f[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gumbel[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?von[-_]?mises[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?von[-_]?mises[-_]?fisher[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?kumaraswamy[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?irwin[-_]?hall[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bates[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?reciprocal[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inverse[-_]?gaussian[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?wald[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inverse[-_]?gamma[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?scaled[-_]?inverse[-_]?chi[-_]?square[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inv[-_]?chi[-_]?square[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?lehmann[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?frechet[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?generalized[-_]?extreme[-_]?value[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gev[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?generalized[-_]?pareto[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gpd[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?exponential[-_]?power[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gengauss[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?generalized[-_]?inverse[-_]?gaussian[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gig[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?normal[-_]?inverse[-_]?gaussian[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?nig[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?normal[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?t[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?cauchy[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?laplace[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?logistic[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gamma[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?weibull[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?exponential[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?pareto[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gumbel[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?frechet[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gev[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gpd[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?normal[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?t[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?cauchy[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?laplace[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?logistic[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gamma[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?weibull[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?exponential[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?pareto[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gumbel[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?frechet[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gev[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gpd[-_]?mixture[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mixture[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?compound[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?convolution[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?product[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ratio[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?difference[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sum[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?linear[-_]?combination[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?affine[-_]?transformation[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?location[-_]?scale[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?shape[-_]?transformation[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?power[-_]?transformation[-_]?distribution[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?box[-_]?cox[-_]?transformation[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?yeo[-_]?johnson[-_]?transformation[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rank[-_]?transformation[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?quantile[-_]?transformation[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?probability[-_]?integral[-_]?transform[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pit[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inverse[-_]?probability[-_]?integral[-_]?transform[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?invpit[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inverse[-_]?transform[-_]?sampling[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rejection[-_]?sampling[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?acceptance[-_]?rejection[-_]?sampling[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?box[-_]?muller[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ziggurat[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ratio[-_]?of[-_]?uniforms[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?alias[-_]?method[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?walkers[-_]?alias[-_]?method[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?alias[-_]?table[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?vose[-_]?alias[-_]?method[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?discrete[-_]?alias[-_]?method[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?finite[-_]?discrete[-_]?sampling[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?categorical[-_]?sampling[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?multinomial[-_]?sampling[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?dirichlet[-_]?sampling[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?normalized[-_]?gamma[-_]?sampling[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stick[-_]?breaking[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?chinese[-_]?restaurant[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?crp[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?indian[-_]?buffet[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ibp[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?beta[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gamma[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?poisson[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?cox[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?hawkes[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?self[-_]?exciting[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?galton[-_]?watson[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?age[-_]?dependent[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bellman[-_]?harris[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sevastyanov[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?markov[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?controlled[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?size[-_]?dependent[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?population[-_]?dependent[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?density[-_]?dependent[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?resource[-_]?dependent[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?cooperative[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?competitive[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?predator[-_]?prey[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?epidemic[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?vaccination[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mutation[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?selection[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?genetic[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?evolutionary[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?phylogenetic[-_]?branching[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?coalescent[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?kingman[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?lambda[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?psi[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?xi[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?multiple[-_]?merger[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?simonsens[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sagitov[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bolthausen[-_]?sznitman[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mohle[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pitman[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?beta[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?dirac[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?star[-_]?shaped[-_]?coalescent[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?yule[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pure[-_]?birth[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?linear[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?logistic[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?density[-_]?dependent[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?age[-_]?structured[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stage[-_]?structured[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?size[-_]?structured[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sex[-_]?structured[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?two[-_]?sex[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?polygamous[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?monogamous[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mating[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?courtship[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?marriage[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?divorce[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?widowhood[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?remarriage[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?fertility[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mortality[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?migration[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?emigration[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?immigration[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?colonization[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?extinction[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rescue[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bottleneck[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?founder[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?metapopulation[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?source[-_]?sink[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?levins[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?hanski[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?patch[-_]?occupancy[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?incidence[-_]?function[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rescue[-_]?effect[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?internal[-_]?colonization[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?propagule[-_]?rain[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mass[-_]?effect[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?island[-_]?biogeography[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?macarthur[-_]?wilson[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?dynamical[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stochastic[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?deterministic[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?quasi[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?level[-_]?dependent[-_]?quasi[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ldqbd[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?matrix[-_]?analytic[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mamap[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?phase[-_]?type[-_]?birth[-_]?death[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?markovian[-_]?arrival[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?map[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?batch[-_]?markovian[-_]?arrival[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bmap[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?marked[-_]?markovian[-_]?arrival[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mmap[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rational[-_]?arrival[-_]?process[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rap[-_]?", r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?minimum[-_]?algebra[-_]?", ]), # Web3/Blockchain ("web3-blockchain", [ r"^web3[-_]?", r"^blockchain[-_]?", r"^ethereum[-_]?", r"^solidity[-_]?", r"^nft[-_]?", r"^defi[-_]?", r"^dao[-_]?", r"^crypto[-_]?", r"^token[-_]?", r"^coin[-_]?", r"^wallet[-_]?", r"^metamask[-_]?", r"^hardhat[-_]?", r"^truffle[-_]?", r"^foundry[-_]?", r"^brownie[-_]?", r"^ape[-_]?", r"^vyper[-_]?", r"^vyperlang[-_]?", r"^rust[-_]?lang[-_]?", r"^ink[-_]?", r"^substrate[-_]?", r"^polkadot[-_]?", r"^kusama[-_]?", r"^cosmos[-_]?", r"^tendermint[-_]?", r"^ibc[-_]?", r"^solana[-_]?", r"^cardano[-_]?", r"^ada[-_]?", r"^plutus[-_]?", r"^marlowe[-_]?", r"^aiken[-_]?", r"^avalanche[-_]?", r"^avax[-_]?", r"^near[-_]?", r"^algorand[-_]?", r"^tezos[-_]?", r"^ligo[-_]?", r"^archetype[-_]?", r"^smart[-_]?py[-_]?", r"^chainlink[-_]?", r"^link[-_]?", r"^oracle[-_]?", r"^uniswap[-_]?", r"^aave[-_]?", r"^compound[-_]?", r"^maker[-_]?", r"^dai[-_]?", r"^curve[-_]?", r"^sushi[-_]?", r"^pancake[-_]?", r"^quickswap[-_]?", r"^dydx[-_]?", r"^dharma[-_]?", r"^instadapp[-_]?", r"^yearn[-_]?", r"^harvest[-_]?", r"^synthetix[-_]?", r"^susd[-_]?", r"^uhe[-_]?", r"^mirror[-_]?", r"^anchor[-_]?", r"^terra[-_]?", r"^luna[-_]?", r"^ust[-_]?", r"^astro[-_]?", r"^stader[-_]?", r"^lidod[-_]?", r"^steth[-_]?", r"^rocket[-_]?pool[-_]?", r"^frax[-_]?", r"^fraxeth[-_]?", r"^convex[-_]?", r"^crv[-_]?", r"^cvx[-_]?", r"^aura[-_]?", r"^balancer[-_]?", r"^bpt[-_]?", r"^gnosis[-_]?", r"^cowswap[-_]?", r"^mempool[-_]?", r"^flash[-_]?bots[-_]?", r"^mev[-_]?", r"^maximal[-_]?extractable[-_]?value[-_]?", r"^sandwich[-_]?attack[-_]?", r"^front[-_]?running[-_]?", r"^back[-_]?running[-_]?", r"^liquidation[-_]?", r"^arbitrage[-_]?", r"^flash[-_]?loan[-_]?", r"^flash[-_]?swap[-_]?", r"^atomic[-_]?swap[-_]?", r"^cross[-_]?chain[-_]?", r"^bridge[-_]?", r"^wrapped[-_]?", r"^weth[-_]?", r"^wbtc[-_]?", r"^ren[-_]?", r"^renvm[-_]?", r"^multichain[-_]?", r"^anyswap[-_]?", r"^hop[-_]?", r"^celer[-_]?", r"^stargate[-_]?", r"^layerzero[-_]?", r"^wormhole[-_]?", r"^portal[-_]?", r"^allbridge[-_]?", r"^synapse[-_]?", r"^across[-_]?", r"^nomad[-_]?", r"^connext[-_]?", r"^amarok[-_]?", r"^everclear[-_]?", r"^cartesi[-_]?", r"^optimism[-_]?", r"^arbitrum[-_]?", r"^starknet[-_]?", r"^starkware[-_]?", r"^zksync[-_]?", r"^zkevm[-_]?", r"^polygon[-_]?", r"^matic[-_]?", r"^hermez[-_]?", r"^miden[-_]?", r"^zero[-_]?", r"^scroll[-_]?", r"^taiko[-_]?", r"^loopring[-_]?", r"^immutable[-_]?", r"^imx[-_]?", r"^dydx[-_]?", r"^deversifi[-_]?", r"^rhinofi[-_]?", r"^sorare[-_]?", r"^gods[-_]?unchained[-_]?", r"^immutable[-_]?x[-_]?", r"^x[-_]?layer[-_]?", r"^cartesi[-_]?", r"^coti[-_]?", r"^metis[-_]?", r"^boba[-_]?", r"^aztec[-_]?", r"^zora[-_]?", r"^base[-_]?", r"^linea[-_]?", r"^mantle[-_]?", r"^mode[-_]?", r"^blast[-_]?", r"^zeta[-_]?", r"^zetachain[-_]?", r"^layer[-_]?", r"^l[-_]?", r"^l1[-_]?", r"^l2[-_]?", r"^l3[-_]?", r"^rollup[-_]?", r"^optimistic[-_]?rollup[-_]?", r"^zk[-_]?rollup[-_]?", r"^validium[-_]?", r"^volition[-_]?", r"^celestia[-_]?", r"^avail[-_]?", r"^eigen[-_]?layer[-_]?", r"^eigen[-_]?da[-_]?", r"^data[-_]?availability[-_]?", r"^da[-_]?", r"^modular[-_]?blockchain[-_]?", r"^monolithic[-_]?blockchain[-_]?", r"^app[-_]?chain[-_]?", r"^application[-_]?specific[-_]?chain[-_]?", r"^parachain[-_]?", r"^parathread[-_]?", r"^collator[-_]?", r"^fisherman[-_]?", r"^nominator[-_]?", r"^validator[-_]?", r"^delegator[-_]?", r"^staker[-_]?", r"^miner[-_]?", r"^forger[-_]?", r"^block[-_]?producer[-_]?", r"^slot[-_]?leader[-_]?", r"^epoch[-_]?", r"^era[-_]?", r"^round[-_]?", r"^view[-_]?", r"^height[-_]?", r"^depth[-_]?", r"^finality[-_]?", r"^justification[-_]?", ]), # Marketing & Growth ("marketing-growth", [ r"^seo[-_]?", r"^cro[-_]?", r"^content[-_]?marketing", r"^content[-_]?creator", r"^content[-_]?strategy", r"^marketing[-_]?", r"^growth[-_]?", r"^email[-_]?", r"^ads[-_]?", r"^advertising[-_]?", r"^social[-_]?", r"^viral[-_]?", r"^landing[-_]?page[-_]?", r"^funnel[-_]?", r"^conversion[-_]?", r"^acquisition[-_]?", r"^retention[-_]?", r"^activation[-_]?", r"^referral[-_]?", r"^revenue[-_]?", r"^analytics[-_]?marketing[-_]?", r"^ab[-_]?test", r"^split[-_]?test", r"^multivariate[-_]?test[-_]?", r"^bandit[-_]?", r"^thompson[-_]?sampling[-_]?", r"^ucb[-_]?", r"^upper[-_]?confidence[-_]?bound[-_]?", r"^epsilon[-_]?greedy[-_]?", r"^softmax[-_]?", r"^boltzmann[-_]?exploration[-_]?", r"^exploration[-_]?exploitation[-_]?", r"^multi[-_]?armed[-_]?bandit[-_]?", r"^contextual[-_]?bandit[-_]?", r"^linucb[-_]?", r"^lin[-_]?ucb[-_]?", r"^linear[-_]?ucb[-_]?", r"^hybrid[-_]?ucb[-_]?", r"^oful[-_]?", r"^optimism[-_]?in[-_]?the[-_]?face[-_]?of[-_]?uncertainty[-_]?linear[-_]?", r"^square[-_]?cb[-_]?", r"^neural[-_]?ucb[-_]?", r"^neural[-_]?ts[-_]?", r"^neural[-_]?thompson[-_]?sampling[-_]?", r"^variational[-_]?bandit[-_]?", r"^bayesian[-_]?bandit[-_]?", r"^gaussian[-_]?process[-_]?bandit[-_]?", r"^gp[-_]?ucb[-_]?", r"^gp[-_]?ei[-_]?", r"^gp[-_]?pi[-_]?", r"^gp[-_]?thompson[-_]?sampling[-_]?", r"^kernel[-_]?bandit[-_]?", r"^ridge[-_]?bandit[-_]?", r"^lasso[-_]?bandit[-_]?", r"^sparse[-_]?bandit[-_]?", r"^combinatorial[-_]?bandit[-_]?", r"^cascading[-_]?bandit[-_]?", r"^slate[-_]?bandit[-_]?", r"^dueling[-_]?bandit[-_]?", r"^interleaved[-_]?bandit[-_]?", r"^ranking[-_]?bandit[-_]?", r"^position[-_]?biased[-_]?bandit[-_]?", r"^pbm[-_]?", r"^position[-_]?based[-_]?model[-_]?", r"^cascade[-_]?model[-_]?", r"^cm[-_]?", r"^dependent[-_]?click[-_]?model[-_]?", r"^dcm[-_]?", r"^click[-_]?chain[-_]?model[-_]?", r"^ccm[-_]?", r"^user[-_]?browsing[-_]?model[-_]?", r"^ubm[-_]?", r"^dynamic[-_]?bayesian[-_]?network[-_]?", r"^dbn[-_]?", r"^neural[-_]?click[-_]?model[-_]?", r"^ncm[-_]?", r"^click[-_]?model[-_]?", r"^ctr[-_]?model[-_]?", r"^ctr[-_]?prediction[-_]?", r"^click[-_]?through[-_]?rate[-_]?", r"^conversion[-_]?rate[-_]?optimization[-_]?", r"^cro[-_]?", r"^landing[-_]?page[-_]?optimization[-_]?", r"^lpo[-_]?", r"^seo[-_]?optimization[-_]?", r"^search[-_]?engine[-_]?optimization[-_]?", r"^content[-_]?marketing[-_]?", r"^content[-_]?strategy[-_]?", r"^content[-_]?creation[-_]?", r"^content[-_]?distribution[-_]?", r"^content[-_]?promotion[-_]?", r"^content[-_]?syndication[-_]?", r"^content[-_]?curation[-_]?", r"^content[-_]?aggregation[-_]?", r"^content[-_]?discovery[-_]?", r"^content[-_]?recommendation[-_]?", r"^content[-_]?personalization[-_]?", r"^content[-_]?targeting[-_]?", r"^content[-_]?segmentation[-_]?", r"^content[-_]?attribution[-_]?", r"^content[-_]?analytics[-_]?", r"^content[-_]?metrics[-_]?", r"^content[-_]?kpi[-_]?", r"^content[-_]?roi[-_]?", r"^content[-_]?performance[-_]?", r"^content[-_]?engagement[-_]?", r"^content[-_]?conversion[-_]?", r"^content[-_]?retention[-_]?", r"^content[-_]?churn[-_]?", r"^content[-_]?lifetime[-_]?value[-_]?", r"^content[-_]?cltv[-_]?", r"^content[-_]?customer[-_]?lifetime[-_]?value[-_]?", r"^content[-_]?cohort[-_]?analysis[-_]?", r"^content[-_]?funnel[-_]?analysis[-_]?", r"^content[-_]?journey[-_]?mapping[-_]?", r"^content[-_]?touchpoint[-_]?analysis[-_]?", r"^content[-_]?multitouch[-_]?attribution[-_]?", r"^content[-_]?mta[-_]?", r"^content[-_]?marketing[-_]?mix[-_]?modeling[-_]?", r"^content[-_]?mmm[-_]?", r"^content[-_]?incrementality[-_]?testing[-_]?", r"^content[-_]?geo[-_]?experiment[-_]?", r"^content[-_]?synthetic[-_]?control[-_]?", r"^content[-_]?difference[-_]?in[-_]?differences[-_]?", r"^content[-_]?did[-_]?", r"^content[-_]?regression[-_]?discontinuity[-_]?", r"^content[-_]?rd[-_]?", r"^content[-_]?instrumental[-_]?variables[-_]?", r"^content[-_]?iv[-_]?", r"^content[-_]?propensity[-_]?score[-_]?matching[-_]?", r"^content[-_]?psm[-_]?", r"^content[-_]?causal[-_]?inference[-_]?", r"^content[-_]?uplift[-_]?modeling[-_]?", r"^content[-_]?response[-_]?modeling[-_]?", r"^content[-_]?persuasion[-_]?modeling[-_]?", r"^content[-_]?influence[-_]?modeling[-_]?", r"^content[-_]?viral[-_]?modeling[-_]?", r"^content[-_]?diffusion[-_]?modeling[-_]?", r"^content[-_]?epidemic[-_]?modeling[-_]?", r"^content[-_]?sirm[-_]?", r"^content[-_]?seir[-_]?", r"^content[-_]?agent[-_]?based[-_]?modeling[-_]?", r"^content[-_]?abm[-_]?", r"^content[-_]?system[-_]?dynamics[-_]?", r"^content[-_]?stock[-_]?and[-_]?flow[-_]?", r"^content[-_]?feedback[-_]?loop[-_]?", r"^content[-_]?reinforcing[-_]?loop[-_]?", r"^content[-_]?balancing[-_]?loop[-_]?", r"^content[-_]?delay[-_]?", r"^content[-_]?bottleneck[-_]?", r"^content[-_]?constraint[-_]?", r"^content[-_]?theory[-_]?of[-_]?constraints[-_]?", r"^content[-_]?toc[-_]?", r"^content[-_]?lean[-_]?manufacturing[-_]?", r"^content[-_]?six[-_]?sigma[-_]?", r"^content[-_]?dmaic[-_]?", r"^content[-_]?define[-_]?measure[-_]?analyze[-_]?improve[-_]?control[-_]?", r"^content[-_]?continuous[-_]?improvement[-_]?", r"^content[-_]?kaizen[-_]?", r"^content[-_]?pdsa[-_]?", r"^content[-_]?plan[-_]?do[-_]?study[-_]?act[-_]?", r"^content[-_]?pdca[-_]?", r"^content[-_]?plan[-_]?do[-_]?check[-_]?act[-_]?", r"^content[-_]?total[-_]?quality[-_]?management[-_]?", r"^content[-_]?tqm[-_]?", r"^content[-_]?iso[-_]?9001[-_]?", r"^content[-_]?iso[-_]?14001[-_]?", r"^content[-_]?iso[-_]?27001[-_]?", r"^content[-_]?gdpr[-_]?", r"^content[-_]?ccpa[-_]?", r"^content[-_]?lgpd[-_]?", r"^content[-_]?privacy[-_]?", r"^content[-_]?data[-_]?protection[-_]?", r"^content[-_]?security[-_]?", r"^content[-_]?compliance[-_]?", r"^content[-_]?governance[-_]?", r"^content[-_]?risk[-_]?", r"^content[-_]?audit[-_]?", r"^content[-_]?control[-_]?", r"^content[-_]?monitoring[-_]?", r"^content[-_]?observability[-_]?", r"^content[-_]?telemetry[-_]?", r"^content[-_]?tracing[-_]?", r"^content[-_]?logging[-_]?", r"^content[-_]?metrics[-_]?", r"^content[-_]?alerts[-_]?", r"^content[-_]?incident[-_]?", r"^content[-_]?response[-_]?", r"^content[-_]?recovery[-_]?", r"^content[-_]?continuity[-_]?", r"^content[-_]?disaster[-_]?recovery[-_]?", r"^content[-_]?backup[-_]?", r"^content[-_]?restore[-_]?", r"^content[-_]?archive[-_]?", r"^content[-_]?retention[-_]?", r"^content[-_]?deletion[-_]?", r"^content[-_]?destruction[-_]?", r"^content[-_]?sanitization[-_]?", r"^content[-_]?anonymization[-_]?", r"^content[-_]?pseudonymization[-_]?", r"^content[-_]?encryption[-_]?", r"^content[-_]?key[-_]?management[-_]?", r"^content[-_]?certificate[-_]?", r"^content[-_]?identity[-_]?", r"^content[-_]?access[-_]?", r"^content[-_]?authentication[-_]?", r"^content[-_]?authorization[-_]?", r"^content[-_]?federation[-_]?", r"^content[-_]?single[-_]?sign[-_]?on[-_]?", r"^content[-_]?multi[-_]?factor[-_]?authentication[-_]?", r"^content[-_]?biometrics[-_]?", r"^content[-_]?password[-_]?", r"^content[-_]?secrets[-_]?", r"^content[-_]?vault[-_]?", r"^content[-_]?token[-_]?", r"^content[-_]?cookie[-_]?", r"^content[-_]?session[-_]?", r"^content[-_]?cache[-_]?", r"^content[-_]?cdn[-_]?", r"^content[-_]?load[-_]?balancing[-_]?", r"^content[-_]?failover[-_]?", r"^content[-_]?replication[-_]?", r"^content[-_]?sharding[-_]?", r"^content[-_]?partitioning[-_]?", r"^content[-_]?indexing[-_]?", r"^content[-_]?query[-_]?optimization[-_]?", r"^content[-_]?schema[-_]?evolution[-_]?", r"^content[-_]?data[-_]?migration[-_]?", r"^content[-_]?data[-_]?integration[-_]?", r"^content[-_]?data[-_]?quality[-_]?", r"^content[-_]?data[-_]?governance[-_]?", r"^content[-_]?data[-_]?lineage[-_]?", r"^content[-_]?data[-_]?catalog[-_]?", r"^content[-_]?data[-_]?dictionary[-_]?", r"^content[-_]?data[-_]?warehouse[-_]?", r"^content[-_]?data[-_]?lake[-_]?", r"^content[-_]?data[-_]?mesh[-_]?", r"^content[-_]?data[-_]?fabric[-_]?", r"^content[-_]?data[-_]?ops[-_]?", r"^content[-_]?data[-_]?platform[-_]?", r"^content[-_]?data[-_]?infrastructure[-_]?", r"^content[-_]?data[-_]?architecture[-_]?", r"^content[-_]?data[-_]?modeling[-_]?", r"^content[-_]?data[-_]?design[-_]?", r"^content[-_]?data[-_]?engineering[-_]?", r"^content[-_]?data[-_]?science[-_]?", r"^content[-_]?data[-_]?analytics[-_]?", r"^content[-_]?data[-_]?visualization[-_]?", r"^content[-_]?data[-_]?storytelling[-_]?", r"^content[-_]?data[-_]?journalism[-_]?", r"^content[-_]?data[-_]?literacy[-_]?", r"^content[-_]?data[-_]?ethics[-_]?", r"^content[-_]?data[-_]?privacy[-_]?", r"^content[-_]?data[-_]?protection[-_]?", r"^content[-_]?data[-_]?sovereignty[-_]?", r"^content[-_]?data[-_]?residency[-_]?", r"^content[-_]?data[-_]?localization[-_]?", r"^content[-_]?data[-_]?globalization[-_]?", r"^content[-_]?data[-_]?internationalization[-_]?", r"^content[-_]?data[-_]?localization[-_]?", ]), # Product & Business ("product-business", [ r"^product[-_]?manager", r"^product[-_]?owner", r"^startup[-_]?", r"^business[-_]?", r"^pricing[-_]?", r"^analytics[-_]?business", r"^finance[-_]?", r"^accounting[-_]?", r"^budget[-_]?", r"^forecast[-_]?", r"^kpi[-_]?", r"^metric[-_]?", r"^dashboard[-_]?", r"^report[-_]?", r"^roi[-_]?", r"^cpa[-_]?", r"^cac[-_]?", r"^ltv[-_]?", r"^arpu[-_]?", r"^mrr[-_]?", r"^arr[-_]?", r"^churn[-_]?", r"^retention[-_]?", r"^engagement[-_]?", r"^activation[-_]?", r"^adoption[-_]?", r"^conversion[-_]?", r"^funnel[-_]?", r"^pipeline[-_]?", r"^sales[-_]?", r"^crm[-_]?", r"^lead[-_]?", r"^opportunity[-_]?", r"^forecast[-_]?", r"^quota[-_]?", r"^territory[-_]?", r"^compensation[-_]?", r"^commission[-_]?", r"^incentive[-_]?", r"^spiff[-_]?", r"^rebate[-_]?", r"^discount[-_]?", r"^promotion[-_]?", r"^campaign[-_]?", r"^program[-_]?", r"^initiative[-_]?", r"^project[-_]?", r"^program[-_]?", r"^portfolio[-_]?", r"^roadmap[-_]?", r"^backlog[-_]?", r"^sprint[-_]?", r"^iteration[-_]?", r"^release[-_]?", r"^launch[-_]?", r"^go[-_]?to[-_]?market[-_]?", r"^gtm[-_]?", r"^positioning[-_]?", r"^messaging[-_]?", r"^value[-_]?proposition[-_]?", r"^uvp[-_]?", r"^unique[-_]?value[-_]?proposition[-_]?", r"^competitive[-_]?advantage[-_]?", r"^differentiation[-_]?", r"^moat[-_]?", r"^barrier[-_]?to[-_]?entry[-_]?", r"^network[-_]?effect[-_]?", r"^flywheel[-_]?", r"^virtuous[-_]?cycle[-_]?", r"^economies[-_]?of[-_]?scale[-_]?", r"^economies[-_]?of[-_]?scope[-_]?", r"^learning[-_]?curve[-_]?", r"^experience[-_]?curve[-_]?", r"^boston[-_]?consulting[-_]?group[-_]?", r"^bcg[-_]?", r"^growth[-_]?share[-_]?matrix[-_]?", r"^stars[-_]?", r"^cash[-_]?cows[-_]?", r"^question[-_]?marks[-_]?", r"^dogs[-_]?", r"^swot[-_]?", r"^strengths[-_]?", r"^weaknesses[-_]?", r"^opportunities[-_]?", r"^threats[-_]?", r"^porter[-_]?", r"^five[-_]?forces[-_]?", r"^competitive[-_]?rivalry[-_]?", r"^supplier[-_]?power[-_]?", r"^buyer[-_]?power[-_]?", r"^threat[-_]?of[-_]?substitution[-_]?", r"^threat[-_]?of[-_]?new[-_]?entry[-_]?", r"^value[-_]?chain[-_]?", r"^primary[-_]?activities[-_]?", r"^support[-_]?activities[-_]?", r"^inbound[-_]?logistics[-_]?", r"^operations[-_]?", r"^outbound[-_]?logistics[-_]?", r"^marketing[-_]?and[-_]?sales[-_]?", r"^service[-_]?", r"^firm[-_]?infrastructure[-_]?", r"^human[-_]?resource[-_]?management[-_]?", r"^technology[-_]?development[-_]?", r"^procurement[-_]?", r"^balanced[-_]?scorecard[-_]?", r"^bsc[-_]?", r"^financial[-_]?perspective[-_]?", r"^customer[-_]?perspective[-_]?", r"^internal[-_]?process[-_]?perspective[-_]?", r"^learning[-_]?and[-_]?growth[-_]?perspective[-_]?", r"^okr[-_]?", r"^objectives[-_]?and[-_]?key[-_]?results[-_]?", r"^north[-_]?star[-_]?metric[-_]?", r"^nsm[-_]?", r"^one[-_]?metric[-_]?that[-_]?matters[-_]?", r"^omtm[-_]?", r"^pirate[-_]?metrics[-_]?", r"^aarrr[-_]?", r"^acquisition[-_]?", r"^activation[-_]?", r"^retention[-_]?", r"^referral[-_]?", r"^revenue[-_]?", r"^heart[-_]?metrics[-_]?", r"^happiness[-_]?", r"^engagement[-_]?", r"^adoption[-_]?", r"^retention[-_]?", r"^task[-_]?success[-_]?", r"^game[-_]?thinking[-_]?", r"^super[-_]?fans[-_]?", r"^committed[-_]?members[-_]?", r"^casual[-_]?members[-_]?", r"^observers[-_]?", r"^non[-_]?members[-_]?", r"^habit[-_]?zone[-_]?", r"^discovery[-_]?phase[-_]?", r"^onboarding[-_]?phase[-_]?", r"^habit[-_]?phase[-_]?", r"^mastery[-_]?phase[-_]?", r"^core[-_]?loop[-_]?", r"^compulsion[-_]?loop[-_]?", r"^reward[-_]?schedule[-_]?", r"^progression[-_]?system[-_]?", r"^level[-_]?system[-_]?", r"^point[-_]?system[-_]?", r"^badge[-_]?system[-_]?", r"^leaderboard[-_]?system[-_]?", r"^achievement[-_]?system[-_]?", r"^milestone[-_]?system[-_]?", r"^unlock[-_]?system[-_]?", r"^narrative[-_]?system[-_]?", r"^social[-_]?system[-_]?", r"^competition[-_]?system[-_]?", r"^cooperation[-_]?system[-_]?", r"^exploration[-_]?system[-_]?", r"^collection[-_]?system[-_]?", r"^completion[-_]?system[-_]?", r"^customization[-_]?system[-_]?", r"^expression[-_]?system[-_]?", r"^altruism[-_]?system[-_]?", r"^donation[-_]?system[-_]?", r"^gift[-_]?system[-_]?", r"^sharing[-_]?system[-_]?", r"^invite[-_]?system[-_]?", r"^referral[-_]?system[-_]?", r"^viral[-_]?system[-_]?", r"^network[-_]?system[-_]?", r"^community[-_]?system[-_]?", r"^guild[-_]?system[-_]?", r"^clan[-_]?system[-_]?", r"^alliance[-_]?system[-_]?", r"^faction[-_]?system[-_]?", r"^team[-_]?system[-_]?", r"^squad[-_]?system[-_]?", r"^party[-_]?system[-_]?", r"^raid[-_]?system[-_]?", r"^dungeon[-_]?system[-_]?", r"^quest[-_]?system[-_]?", r"^mission[-_]?system[-_]?", r"^challenge[-_]?system[-_]?", r"^puzzle[-_]?system[-_]?", r"^riddle[-_]?system[-_]?", r"^mystery[-_]?system[-_]?", r"^treasure[-_]?hunt[-_]?system[-_]?", r"^scavenger[-_]?hunt[-_]?system[-_]?", r"^easter[-_]?egg[-_]?system[-_]?", r"^secret[-_]?system[-_]?", r"^hidden[-_]?system[-_]?", r"^surprise[-_]?system[-_]?", r"^delight[-_]?system[-_]?", r"^wow[-_]?moment[-_]?", r"^magic[-_]?moment[-_]?", r"^peak[-_]?end[-_]?rule[-_]?", r"^flow[-_]?state[-_]?", r"^zone[-_]?of[-_]?proximal[-_]?development[-_]?", r"^zpd[-_]?", r"^scaffold[-_]?", r"^tutorial[-_]?", r"^guide[-_]?", r"^help[-_]?", r"^support[-_]?", r"^faq[-_]?", r"^documentation[-_]?", r"^knowledge[-_]?base[-_]?", r"^wiki[-_]?", r"^community[-_]?forum[-_]?", r"^user[-_]?forum[-_]?", r"^discussion[-_]?board[-_]?", r"^q[-_]?and[-_]?a[-_]?", r"^stack[-_]?overflow[-_]?", r"^quora[-_]?", r"^reddit[-_]?", r"^discord[-_]?", r"^slack[-_]?", r"^teams[-_]?", r"^zoom[-_]?", r"^meet[-_]?", r"^webex[-_]?", r"^gotomeeting[-_]?", r"^bluejeans[-_]?", r"^skype[-_]?", r"^hangouts[-_]?", r"^duo[-_]?", r"^facetime[-_]?", r"^signal[-_]?", r"^telegram[-_]?", r"^whatsapp[-_]?", r"^wechat[-_]?", r"^line[-_]?", r"^kakao[-_]?", r"^viber[-_]?", r"^imessage[-_]?", r"^sms[-_]?", r"^mms[-_]?", r"^push[-_]?notification[-_]?", r"^in[-_]?app[-_]?message[-_]?", r"^email[-_]?", r"^newsletter[-_]?", r"^digest[-_]?", r"^alert[-_]?", r"^reminder[-_]?", r"^notification[-_]?", r"^announcement[-_]?", r"^broadcast[-_]?", r"^campaign[-_]?", r"^automation[-_]?", r"^workflow[-_]?", r"^trigger[-_]?", r"^event[-_]?", r"^action[-_]?", r"^condition[-_]?", r"^rule[-_]?", r"^policy[-_]?", r"^logic[-_]?", r"^algorithm[-_]?", r"^ml[-_]?model[-_]?", r"^ai[-_]?model[-_]?", r"^predictive[-_]?model[-_]?", r"^forecasting[-_]?model[-_]?", r"^scoring[-_]?model[-_]?", r"^ranking[-_]?model[-_]?", r"^recommendation[-_]?model[-_]?", r"^personalization[-_]?model[-_]?", r"^optimization[-_]?model[-_]?", r"^simulation[-_]?model[-_]?", r"^digital[-_]?twin[-_]?", r"^metaverse[-_]?", r"^web3[-_]?", r"^nft[-_]?", r"^token[-_]?", r"^coin[-_]?", r"^crypto[-_]?", r"^blockchain[-_]?", r"^defi[-_]?", r"^dao[-_]?", r"^smart[-_]?contract[-_]?", r"^wallet[-_]?", r"^exchange[-_]?", r"^marketplace[-_]?", r"^platform[-_]?", r"^ecosystem[-_]?", r"^partner[-_]?", r"^integration[-_]?", r"^api[-_]?", r"^sdk[-_]?", r"^plugin[-_]?", r"^extension[-_]?", r"^addon[-_]?", r"^module[-_]?", r"^component[-_]?", r"^library[-_]?", r"^framework[-_]?", r"^toolkit[-_]?", r"^boilerplate[-_]?", r"^starter[-_]?", r"^template[-_]?", r"^theme[-_]?", r"^skin[-_]?", r"^asset[-_]?", r"^resource[-_]?", r"^bundle[-_]?", r"^package[-_]?", r"^distribution[-_]?", r"^release[-_]?", r"^version[-_]?", r"^update[-_]?", r"^patch[-_]?", r"^upgrade[-_]?", r"^migration[-_]?", r"^deployment[-_]?", r"^installation[-_]?", r"^configuration[-_]?", r"^setup[-_]?", r"^initialization[-_]?", r"^bootstrapping[-_]?", r"^provisioning[-_]?", r"^orchestration[-_]?", r"^choreography[-_]?", r"^coordination[-_]?", r"^synchronization[-_]?", r"^scheduling[-_]?", r"^planning[-_]?", r"^allocation[-_]?", r"^assignment[-_]?", r"^distribution[-_]?", r"^balancing[-_]?", r"^optimization[-_]?", r"^efficiency[-_]?", r"^performance[-_]?", r"^throughput[-_]?", r"^latency[-_]?", r"^response[-_]?time[-_]?", r"^uptime[-_]?", r"^availability[-_]?", r"^reliability[-_]?", r"^durability[-_]?", r"^resilience[-_]?", r"^fault[-_]?tolerance[-_]?", r"^graceful[-_]?degradation[-_]?", r"^self[-_]?healing[-_]?", r"^auto[-_]?recovery[-_]?", r"^disaster[-_]?recovery[-_]?", r"^business[-_]?continuity[-_]?", r"^backup[-_]?", r"^restore[-_]?", r"^replication[-_]?", r"^failover[-_]?", r"^redundancy[-_]?", r"^high[-_]?availability[-_]?", r"^load[-_]?balancing[-_]?", r"^traffic[-_]?management[-_]?", r"^rate[-_]?limiting[-_]?", r"^throttling[-_]?", r"^circuit[-_]?breaker[-_]?", r"^bulkhead[-_]?", r"^timeout[-_]?", r"^retry[-_]?", r"^backoff[-_]?", r"^jitter[-_]?", r"^hedging[-_]?", r"^caching[-_]?", r"^prefetching[-_]?", r"^lazy[-_]?loading[-_]?", r"^eager[-_]?loading[-_]?", r"^pagination[-_]?", r"^infinite[-_]?scroll[-_]?", r"^virtual[-_]?scroll[-_]?", r"^windowing[-_]?", r"^list[-_]?virtualization[-_]?", r"^dom[-_]?recycling[-_]?", r"^component[-_]?pooling[-_]?", r"^object[-_]?pooling[-_]?", r"^connection[-_]?pooling[-_]?", r"^thread[-_]?pooling[-_]?", r"^process[-_]?pooling[-_]?", r"^memory[-_]?pooling[-_]?", r"^buffer[-_]?pooling[-_]?", r"^resource[-_]?pooling[-_]?", r"^worker[-_]?pool[-_]?", r"^pool[-_]?", ]), # Infrastructure & SRE ("infrastructure-sre", [ r"^monitoring[-_]?", r"^observability[-_]?", r"^logging[-_]?", r"^tracing[-_]?", r"^metrics[-_]?", r"^alerting[-_]?", r"^incident[-_]?", r"^sre[-_]?", r"^performance[-_]?", r"^reliability[-_]?", r"^availability[-_]?", r"^scalability[-_]?", r"^capacity[-_]?", r"^planning[-_]?", r"^tuning[-_]?", r"^optimization[-_]?", r"^profiling[-_]?", r"^benchmarking[-_]?", r"^load[-_]?testing[-_]?", r"^stress[-_]?testing[-_]?", r"^chaos[-_]?engineering[-_]?", r"^disaster[-_]?recovery[-_]?", r"^backup[-_]?", r"^restore[-_]?", r"^replication[-_]?", r"^failover[-_]?", r"^redundancy[-_]?", r"^high[-_]?availability[-_]?", r"^load[-_]?balancing[-_]?", r"^traffic[-_]?management[-_]?", r"^rate[-_]?limiting[-_]?", r"^throttling[-_]?", r"^circuit[-_]?breaker[-_]?", r"^bulkhead[-_]?", r"^timeout[-_]?", r"^retry[-_]?", r"^backoff[-_]?", r"^jitter[-_]?", r"^hedging[-_]?", r"^caching[-_]?", r"^prefetching[-_]?", r"^lazy[-_]?loading[-_]?", r"^eager[-_]?loading[-_]?", r"^pagination[-_]?", r"^infinite[-_]?scroll[-_]?", r"^virtual[-_]?scroll[-_]?", r"^windowing[-_]?", r"^list[-_]?virtualization[-_]?", r"^dom[-_]?recycling[-_]?", r"^component[-_]?pooling[-_]?", r"^object[-_]?pooling[-_]?", r"^connection[-_]?pooling[-_]?", r"^thread[-_]?pooling[-_]?", r"^process[-_]?pooling[-_]?", r"^memory[-_]?pooling[-_]?", r"^buffer[-_]?pooling[-_]?", r"^resource[-_]?pooling[-_]?", r"^worker[-_]?pool[-_]?", ]), # Workflow & Automation ("workflow-automation", [ r"^workflow[-_]?", r"^automation[-_]?", r"^n8n[-_]?", r"^zapier[-_]?", r"^make[-_]?", r"^integromat[-_]?", r"^ifttt[-_]?", r"^huginn[-_]?", r"^node[-_]?red[-_]?", r"^trigger[-_]?", r"^action[-_]?", r"^condition[-_]?", r"^rule[-_]?", r"^policy[-_]?", r"^logic[-_]?", r"^algorithm[-_]?", r"^orchestration[-_]?", r"^choreography[-_]?", r"^coordination[-_]?", r"^synchronization[-_]?", r"^scheduling[-_]?", r"^planning[-_]?", r"^allocation[-_]?", r"^assignment[-_]?", r"^distribution[-_]?", r"^balancing[-_]?", r"^optimization[-_]?", r"^efficiency[-_]?", r"^performance[-_]?", r"^throughput[-_]?", r"^latency[-_]?", r"^response[-_]?time[-_]?", r"^uptime[-_]?", r"^availability[-_]?", r"^reliability[-_]?", r"^durability[-_]?", r"^resilience[-_]?", r"^fault[-_]?tolerance[-_]?", r"^graceful[-_]?degradation[-_]?", r"^self[-_]?healing[-_]?", r"^auto[-_]?recovery[-_]?", r"^disaster[-_]?recovery[-_]?", r"^business[-_]?continuity[-_]?", r"^backup[-_]?", r"^restore[-_]?", r"^replication[-_]?", r"^failover[-_]?", r"^redundancy[-_]?", r"^high[-_]?availability[-_]?", r"^load[-_]?balancing[-_]?", r"^traffic[-_]?management[-_]?", r"^rate[-_]?limiting[-_]?", r"^throttling[-_]?", r"^circuit[-_]?breaker[-_]?", r"^bulkhead[-_]?", r"^timeout[-_]?", r"^retry[-_]?", r"^backoff[-_]?", r"^jitter[-_]?", r"^hedging[-_]?", r"^caching[-_]?", r"^prefetching[-_]?", r"^lazy[-_]?loading[-_]?", r"^eager[-_]?loading[-_]?", r"^pagination[-_]?", r"^infinite[-_]?scroll[-_]?", r"^virtual[-_]?scroll[-_]?", r"^windowing[-_]?", r"^list[-_]?virtualization[-_]?", r"^dom[-_]?recycling[-_]?", r"^component[-_]?pooling[-_]?", r"^object[-_]?pooling[-_]?", r"^connection[-_]?pooling[-_]?", r"^thread[-_]?pooling[-_]?", r"^process[-_]?pooling[-_]?", r"^memory[-_]?pooling[-_]?", r"^buffer[-_]?pooling[-_]?", r"^resource[-_]?pooling[-_]?", r"^worker[-_]?pool[-_]?", ]), # Documentation & Content ("documentation-content", [ r"^doc[-_]?", r"^documentation[-_]?", r"^writing[-_]?", r"^readme[-_]?", r"^presentation[-_]?", r"^spreadsheet[-_]?", r"^pdf[-_]?", r"^docx[-_]?", r"^xlsx[-_]?", r"^pptx[-_]?", r"^ooxml[-_]?", r"^openxml[-_]?", r"^markdown[-_]?", r"^md[-_]?", r"^rst[-_]?", r"^asciidoc[-_]?", r"^tex[-_]?", r"^latex[-_]?", r"^bibtex[-_]?", r"^biblatex[-_]?", r"^cs[-_]?", r"^csl[-_]?", r"^citation[-_]?style[-_]?language[-_]?", r"^zotero[-_]?", r"^mendeley[-_]?", r"^endnote[-_]?", r"^refworks[-_]?", r"^citavi[-_]?", r"^papers[-_]?", r"^readcube[-_]?", r"^paperpile[-_]?", r"^jabref[-_]?", r"^docear[-_]?", r"^mindmap[-_]?", r"^concept[-_]?map[-_]?", r"^knowledge[-_]?map[-_]?", r"^argument[-_]?map[-_]?", r"^debate[-_]?map[-_]?", r"^dialogue[-_]?map[-_]?", r"^issue[-_]?map[-_]?", r"^stakeholder[-_]?map[-_]?", r"^value[-_]?map[-_]?", r"^strategy[-_]?map[-_]?", r"^balanced[-_]?scorecard[-_]?", r"^strategy[-_]?canvas[-_]?", r"^business[-_]?model[-_]?canvas[-_]?", r"^lean[-_]?canvas[-_]?", r"^value[-_]?proposition[-_]?canvas[-_]?", r"^product[-_]?vision[-_]?board[-_]?", r"^goal[-_]?oriented[-_]?roadmap[-_]?", r"^now[-_]?next[-_]?later[-_]?roadmap[-_]?", r"^theme[-_]?based[-_]?roadmap[-_]?", r"^outcome[-_]?based[-_]?roadmap[-_]?", r"^feature[-_]?based[-_]?roadmap[-_]?", r"^technology[-_]?roadmap[-_]?", r"^architectural[-_]?roadmap[-_]?", r"^capability[-_]?roadmap[-_]?", r"^strategy[-_]?roadmap[-_]?", r"^product[-_]?roadmap[-_]?", r"^portfolio[-_]?roadmap[-_]?", r"^solution[-_]?roadmap[-_]?", r"^program[-_]?roadmap[-_]?", r"^project[-_]?roadmap[-_]?", r"^release[-_]?roadmap[-_]?", r"^launch[-_]?roadmap[-_]?", r"^beta[-_]?roadmap[-_]?", r"^alpha[-_]?roadmap[-_]?", r"^mvp[-_]?roadmap[-_]?", r"^prototype[-_]?roadmap[-_]?", r"^poc[-_]?roadmap[-_]?", r"^pilot[-_]?roadmap[-_]?", r"^experiment[-_]?roadmap[-_]?", r"^research[-_]?roadmap[-_]?", r"^development[-_]?roadmap[-_]?", r"^engineering[-_]?roadmap[-_]?", r"^design[-_]?roadmap[-_]?", r"^ux[-_]?roadmap[-_]?", r"^ui[-_]?roadmap[-_]?", r"^frontend[-_]?roadmap[-_]?", r"^backend[-_]?roadmap[-_]?", r"^fullstack[-_]?roadmap[-_]?", r"^mobile[-_]?roadmap[-_]?", r"^ios[-_]?roadmap[-_]?", r"^android[-_]?roadmap[-_]?", r"^react[-_]?native[-_]?roadmap[-_]?", r"^flutter[-_]?roadmap[-_]?", r"^desktop[-_]?roadmap[-_]?", r"^electron[-_]?roadmap[-_]?", r"^tauri[-_]?roadmap[-_]?", r"^wails[-_]?roadmap[-_]?", r"^qt[-_]?roadmap[-_]?", r"^gtk[-_]?roadmap[-_]?", r"^wx[-_]?roadmap[-_]?", r"^javafx[-_]?roadmap[-_]?", r"^swing[-_]?roadmap[-_]?", r"^awt[-_]?roadmap[-_]?", r"^swt[-_]?roadmap[-_]?", r"^jface[-_]?roadmap[-_]?", r"^rcp[-_]?roadmap[-_]?", r"^eclipse[-_]?roadmap[-_]?", r"^netbeans[-_]?roadmap[-_]?", r"^intellij[-_]?roadmap[-_]?", r"^android[-_]?studio[-_]?roadmap[-_]?", r"^xcode[-_]?roadmap[-_]?", r"^visual[-_]?studio[-_]?roadmap[-_]?", r"^vscode[-_]?roadmap[-_]?", r"^sublime[-_]?roadmap[-_]?", r"^atom[-_]?roadmap[-_]?", r"^brackets[-_]?roadmap[-_]?", r"^notepad\+\+[-_]?roadmap[-_]?", r"^vim[-_]?roadmap[-_]?", r"^neovim[-_]?roadmap[-_]?", r"^emacs[-_]?roadmap[-_]?", r"^nano[-_]?roadmap[-_]?", r"^micro[-_]?roadmap[-_]?", r"^helix[-_]?roadmap[-_]?", r"^kakoune[-_]?roadmap[-_]?", r"^acme[-_]?roadmap[-_]?", r"^sam[-_]?roadmap[-_]?", r"^ed[-_]?roadmap[-_]?", r"^ex[-_]?roadmap[-_]?", r"^vi[-_]?roadmap[-_]?", r"^edlin[-_]?roadmap[-_]?", r"^edit[-_]?roadmap[-_]?", r"^ee[-_]?roadmap[-_]?", r"^jed[-_]?roadmap[-_]?", r"^joe[-_]?roadmap[-_]?", r"^jove[-_]?roadmap[-_]?", r"^levee[-_]?roadmap[-_]?", r"^mg[-_]?roadmap[-_]?", r"^pico[-_]?roadmap[-_]?", r"^pine[-_]?roadmap[-_]?", r"^teco[-_]?roadmap[-_]?", r"^tpu[-_]?roadmap[-_]?", r"^emacs[-_]?roadmap[-_]?", r"^zile[-_]?roadmap[-_]?", r"^epsilon[-_]?roadmap[-_]?", r"^jmacs[-_]?roadmap[-_]?", r"^uemacs[-_]?roadmap[-_]?", r"^mg[-_]?roadmap[-_]?", r"^zile[-_]?roadmap[-_]?", ]), # Meta-skills (about skills themselves) ("meta", [ r"^skill[-_]?creator", r"^skill[-_]?developer", r"^writing[-_]?skill", r"^meta[-_]?", r"^claude[-_]?code[-_]?guide", r"^cursor[-_]?", r"^create[-_]?rule", r"^create[-_]?skill", r"^update[-_]?cursor", ]), # File processing ("file-processing", [ r"^docx[-_]?", r"^xlsx[-_]?", r"^pptx[-_]?", r"^pdf[-_]?", r"^csv[-_]?", r"^tsv[-_]?", r"^json[-_]?processing", r"^xml[-_]?processing", r"^yaml[-_]?processing", r"^toml[-_]?processing", r"^ini[-_]?processing", r"^config[-_]?processing", r"^log[-_]?processing", r"^text[-_]?processing", r"^image[-_]?processing", r"^video[-_]?processing", r"^audio[-_]?processing", r"^media[-_]?processing", r"^document[-_]?processing", r"^spreadsheet[-_]?processing", r"^presentation[-_]?processing", r"^ooxml[-_]?", r"^openxml[-_]?", r"^office[-_]?automation[-_]?", ]), # Game Development ("game-development", [ r"^game[-_]?", r"^unity[-_]?", r"^unreal[-_]?", r"^godot[-_]?", r"^bevy[-_]?", r"^amethyst[-_]?", r"^piston[-_]?", r"^ggez[-_]?", r"^macroquad[-_]?", r"^miniquad[-_]?", r"^raylib[-_]?", r"^sdl[-_]?", r"^sfml[-_]?", r"^allegro[-_]?", r"^cocos2d[-_]?", r"^love[-_]?", r"^defold[-_]?", r"^gamemaker[-_]?", r"^construct[-_]?", r"^rpg[-_]?maker[-_]?", r"^renpy[-_]?", r"^twine[-_]?", r"^ink[-_]?", r"^harlowe[-_]?", r"^sugar[-_]?cube[-_]?", r"^bitsy[-_]?", r"^rpg[-_]?", r"^roguelike[-_]?", r"^platformer[-_]?", r"^shooter[-_]?", r"^fps[-_]?", r"^tps[-_]?", r"^rts[-_]?", r"^moba[-_]?", r"^mmo[-_]?", r"^mmorpg[-_]?", r"^puzzle[-_]?", r"^strategy[-_]?", r"^simulation[-_]?", r"^sandbox[-_]?", r"^survival[-_]?", r"^horror[-_]?", r"^adventure[-_]?", r"^action[-_]?", r"^racing[-_]?", r"^sports[-_]?", r"^fighting[-_]?", r"^beat[-_]?em[-_]?up[-_]?", r"^stealth[-_]?", r"^metroidvania[-_]?", r"^soulslike[-_]?", r"^roguelite[-_]?", r"^deckbuilder[-_]?", r"^tower[-_]?defense[-_]?", r"^idle[-_]?", r"^clicker[-_]?", r"^tycoon[-_]?", r"^management[-_]?", r"^city[-_]?builder[-_]?", r"^colony[-_]?sim[-_]?", r"^dwarf[-_]?fortress[-_]?", r"^rimworld[-_]?", r"^factorio[-_]?", r"^satisfactory[-_]?", r"^oxygen[-_]?not[-_]?included[-_]?", r"^oni[-_]?", r"^prison[-_]?architect[-_]?", r"^two[-_]?point[-_]?", r"^theme[-_]?hospital[-_]?", r"^rollercoaster[-_]?tycoon[-_]?", r"^planet[-_]?coaster[-_]?", r"^zoo[-_]?tycoon[-_]?", r"^planet[-_]?zoo[-_]?", r"^jurassic[-_]?world[-_]?", r"^evolution[-_]?", r"^stellaris[-_]?", r"^crusader[-_]?kings[-_]?", r"^eu[-_]?", r"^hearts[-_]?of[-_]?iron[-_]?", r"^victoria[-_]?", r"^imperator[-_]?", r"^ck[-_]?", r"^hoi[-_]?", r"^vic[-_]?", r"^total[-_]?war[-_]?", r"^civilization[-_]?", r"^civ[-_]?", r"^alpha[-_]?centauri[-_]?", r"^beyond[-_]?earth[-_]?", r"^humankind[-_]?", r"^old[-_]?world[-_]?", r"^fallen[-_]?enchantress[-_]?", r"^elemental[-_]?", r"^galactic[-_]?civilizations[-_]?", r"^endless[-_]?", r"^endless[-_]?legend[-_]?", r"^endless[-_]?space[-_]?", r"^dungeon[-_]?of[-_]?the[-_]?endless[-_]?", r"^endless[-_]?dungeon[-_]?", r"^rogue[-_]?legacy[-_]?", r"^dead[-_]?cells[-_]?", r"^hades[-_]?", r"^enter[-_]?the[-_]?gungeon[-_]?", r"^the[-_]?binding[-_]?of[-_]?isaac[-_]?", r"^nuclear[-_]?throne[-_]?", r"^risk[-_]?of[-_]?rain[-_]?", r"^slay[-_]?the[-_]?spire[-_]?", r"^monster[-_]?train[-_]?", r"^griftlands[-_]?", r"^inscryption[-_]?", r"^ring[-_]?of[-_]?pain[-_]?", r"^hand[-_]?of[-_]?fate[-_]?", r"^dream[-_]?quest[-_]?", r"^card[-_]?crawl[-_]?", r"^solitairica[-_]?", r"^meteorfall[-_]?", r"^night[-_]?of[-_]?the[-_]?full[-_]?moon[-_]?", r"^dark[-_]?deity[-_]?", r"^fights[-_]?in[-_]?tight[-_]?spaces[-_]?", r"^neoverse[-_]?", r"^nowhere[-_]?prophet[-_]?", r"^deeprock[-_]?galactic[-_]?", r"^valheim[-_]?", r"^terraria[-_]?", r"^starbound[-_]?", r"^minecraft[-_]?", r"^roblox[-_]?", r"^fortnite[-_]?", r"^pubg[-_]?", r"^apex[-_]?legends[-_]?", r"^valorant[-_]?", r"^counter[-_]?strike[-_]?", r"^cs[-_]?", r"^overwatch[-_]?", r"^team[-_]?fortress[-_]?", r"^tf[-_]?", r"^paladins[-_]?", r"^realm[-_]?royale[-_]?", r"^spellbreak[-_]?", r"^crucible[-_]?", r"^bleeding[-_]?edge[-_]?", r"^gigantic[-_]?", r"^battlerite[-_]?", r"^battleroyale[-_]?", r"^h1z1[-_]?", r"^dayz[-_]?", r"^ark[-_]?", r"^rust[-_]?", r"^conan[-_]?exiles[-_]?", r"^atlas[-_]?", r"^sea[-_]?of[-_]?thieves[-_]?", r"^no[-_]?mans[-_]?sky[-_]?", r"^elite[-_]?dangerous[-_]?", r"^eve[-_]?online[-_]?", r"^star[-_]?citizen[-_]?", r"^dual[-_]?universe[-_]?", r"^space[-_]?engineers[-_]?", r"^empyrion[-_]?", r"^starship[-_]?evo[-_]?", r"^avorion[-_]?", r"^reassembly[-_]?", r"^cosmoteer[-_]?", r"^star[-_]?valley[-_]?", r"^rimworld[-_]?", r"^dwarf[-_]?fortress[-_]?", r"^caves[-_]?of[-_]?qud[-_]?", r"^unreal[-_]?world[-_]?", r"^cataclysm[-_]?dda[-_]?", r"^cdda[-_]?", r"^project[-_]?zomboid[-_]?", r"^7[-_]?days[-_]?to[-_]?die[-_]?", r"^state[-_]?of[-_]?decay[-_]?", r"^dayz[-_]?", r"^scum[-_]?", r"^last[-_]?oasis[-_]?", r"^icarus[-_]?", r"^green[-_]?hell[-_]?", r"^the[-_]?forest[-_]?", r"^sons[-_]?of[-_]?the[-_]?forest[-_]?", r"^stranded[-_]?deep[-_]?", r"^raft[-_]?", r"^subnautica[-_]?", r"^below[-_]?zero[-_]?", r"^breathedge[-_]?", r"^osiris[-_]?new[-_]?dawn[-_]?", r"^astroneer[-_]?", r"^planet[-_]?nomads[-_]?", r"^empyrion[-_]?", r"^space[-_]?engineers[-_]?", r"^dual[-_]?universe[-_]?", r"^starbase[-_]?", r"^mar[-_]?auders[-_]?", r"^escape[-_]?from[-_]?tarkov[-_]?", r"^eft[-_]?", r"^hunt[-_]?showdown[-_]?", r"^insurgency[-_]?", r"^squad[-_]?", r"^arma[-_]?", r"^dayz[-_]?", r"^pubg[-_]?", r"^fortnite[-_]?", r"^apex[-_]?legends[-_]?", r"^valorant[-_]?", r"^csgo[-_]?", r"^counter[-_]?strike[-_]?", r"^rainbow[-_]?six[-_]?", r"^siege[-_]?", r"^cod[-_]?", r"^call[-_]?of[-_]?duty[-_]?", r"^battlefield[-_]?", r"^medal[-_]?of[-_]?honor[-_]?", r"^sniper[-_]?elite[-_]?", r"^ghost[-_]?recon[-_]?", r"^the[-_]?division[-_]?", r"^destiny[-_]?", r"^warframe[-_]?", r"^borderlands[-_]?", r"^outriders[-_]?", r"^anthem[-_]?", r"^division[-_]?", r"^wildlands[-_]?", r"^breakpoint[-_]?", r"^far[-_]?cry[-_]?", r"^crysis[-_]?", r"^farcry[-_]?", r"^assassins[-_]?creed[-_]?", r"^watch[-_]?dogs[-_]?", r"^gta[-_]?", r"^red[-_]?dead[-_]?redemption[-_]?", r"^rdr[-_]?", r"^witcher[-_]?", r"^cyberpunk[-_]?", r"^skyrim[-_]?", r"^elder[-_]?scrolls[-_]?", r"^fallout[-_]?", r"^baldurs[-_]?gate[-_]?", r"^bg[-_]?", r"^divinity[-_]?", r"^dos[-_]?", r"^dos2[-_]?", r"^pillars[-_]?of[-_]?eternity[-_]?", r"^poe[-_]?", r"^path[-_]?of[-_]?exile[-_]?", r"^pathofexile[-_]?", r"^poe[-_]?", r"^diablo[-_]?", r"^torchlight[-_]?", r"^grim[-_]?dawn[-_]?", r"^wolcen[-_]?", r"^last[-_]?epoch[-_]?", r"^chronicon[-_]?", r"^hero[-_]?siege[-_]?", r"^victor[-_]?vran[-_]?", r"^van[-_]?helsing[-_]?", r"^incredible[-_]?adventures[-_]?", r"^vanhelsing[-_]?", r"^warhammer[-_]?", r"^vermintide[-_]?", r"^darktide[-_]?", r"^total[-_]?war[-_]?warhammer[-_]?", r"^tw[-_]?wh[-_]?", r"^warhammer[-_]?40k[-_]?", r"^mechanicus[-_]?", r"^battlesector[-_]?", r"^sanctus[-_]?reach[-_]?", r"^gladius[-_]?", r"^rel[-_]?ic[-_]?", r"^dawn[-_]?of[-_]?war[-_]?", r"^dow[-_]?", r"^company[-_]?of[-_]?heroes[-_]?", r"^coh[-_]?", r"^age[-_]?of[-_]?empires[-_]?", r"^aoe[-_]?", r"^starcraft[-_]?", r"^warcraft[-_]?", r"^command[-_]?and[-_]?conquer[-_]?", r"^cnc[-_]?", r"^red[-_]?alert[-_]?", r"^generals[-_]?", r"^tiberian[-_]?", r"^kane[-_]?", r"^act[-_]?of[-_]?war[-_]?", r"^direct[-_]?action[-_]?", r"^high[-_]?treason[-_]?", r"^wargame[-_]?", r"^european[-_]?escalation[-_]?", r"^airland[-_]?battle[-_]?", r"^red[-_]?dragon[-_]?", r"^warno[-_]?", r"^army[-_]?general[-_]?", r"^steel[-_]?division[-_]?", r"^normandy[-_]?44[-_]?", r"^44[-_]?", r"^battlegroup[-_]?", r"^frontline[-_]?", r"^close[-_]?combat[-_]?", r"^cc[-_]?", r"^combat[-_]?mission[-_]?", r"^cm[-_]?", r"^gravi[-_]?team[-_]?tactics[-_]?", r"^gtt[-_]?", r"^dominions[-_]?", r"^conquest[-_]?of[-_]?elysium[-_]?", r"^coe[-_]?", r"^illwinter[-_]?", r"^battle[-_]?for[-_]?wesnoth[-_]?", r"^wesnoth[-_]?", r"^endless[-_]?legend[-_]?", r"^endless[-_]?space[-_]?", r"^humankind[-_]?", r"^old[-_]?world[-_]?", r"^oldworld[-_]?", r"^oldworldgame[-_]?", r"^soren[-_]?johnson[-_]?", r"^mohawk[-_]?games[-_]?", r"^文明[-_]?", r"^文明6[-_]?", r"^civ6[-_]?", r"^civilization6[-_]?", r"^civilizationvi[-_]?", r"^文明7[-_]?", r"^civ7[-_]?", r"^civilization7[-_]?", r"^civilizationvii[-_]?", r"^humankind[-_]?", r"^amplitude[-_]?", r"^世嘉[-_]?", r"^sega[-_]?", r"^humankindgame[-_]?", r"^oldworld[-_]?", r"^oldworldgame[-_]?", r"^银河文明[-_]?", r"^galactic[-_]?civilizations[-_]?", r"^银河文明4[-_]?", r"^galactic[-_]?civilizations[-_]?iv[-_]?", r"^stellaris[-_]?", r"^群星[-_]?", r"^paradox[-_]?", r"^p社[-_]?", r"^钢丝[-_]?", r"^钢铁雄心[-_]?", r"^hoi[-_]?", r"^hoi4[-_]?", r"^维多利亚[-_]?", r"^vic[-_]?", r"^vic3[-_]?", r"^维多利亚3[-_]?", r"^十字军之王[-_]?", r"^ck[-_]?", r"^ck3[-_]?", r"^十字军之王3[-_]?", r"^欧陆风云[-_]?", r"^eu[-_]?", r"^eu4[-_]?", r"^欧陆风云4[-_]?", r"^大将军:罗马[-_]?", r"^imperator[-_]?", r"^imperatorrome[-_]?", r"^全面战争[-_]?", r"^total[-_]?war[-_]?", r"^tw[-_]?", r"^三国全面战争[-_]?", r"^战锤全面战争[-_]?", r"^totalwarhammer[-_]?", r"^罗马全面战争[-_]?", r"^中世纪全面战争[-_]?", r"^帝国全面战争[-_]?", r"^拿破仑全面战争[-_]?", r"^幕府将军全面战争[-_]?", r"^特洛伊全面战争[-_]?", r"^法老全面战争[-_]?", r"^pharaoh[-_]?", r"^total[-_]?war[-_]?pharaoh[-_]?", ]), # 3D Web Experience (standalone category for Three.js, WebGL skills) ("3d-web", [ r"^3d[-_]?web[-_]?", r"^three[-_]?js[-_]?", r"^react[-_]?three[-_]?fiber", r"^r3f[-_]?", r"^webgl[-_]?", r"^spline[-_]?", r"^babylon[-_]?js[-_]?", r"^playcanvas[-_]?", r"^aframe[-_]?", r"^webxr[-_]?", r"^webvr[-_]?", r"^webgpu[-_]?", ]), # Additional specific categories that don't fit above patterns # Will be matched last (lowest priority) ] class SkillCategorizer: """Categorizza le skills basandosi su pattern matching.""" def __init__(self, rules: List[Tuple[str, List[str]]] = CATEGORY_RULES): self.rules = rules self.compiled_rules: Dict[str, List[re.Pattern]] = {} self._compile_rules() def _compile_rules(self) -> None: """Compila le regex per performance migliori.""" for category, patterns in self.rules: self.compiled_rules[category] = [ re.compile(pattern, re.IGNORECASE) for pattern in patterns ] def categorize(self, skill_id: str) -> Tuple[str, float]: """ Categorizza una skill basandosi sul suo ID. Ritorna (categoria, confidenza). """ skill_id_lower = skill_id.lower() for category, patterns in self.compiled_rules.items(): for pattern in patterns: if pattern.search(skill_id_lower): # Calcola confidenza basata sulla specificità del match # Pattern più lunghi = più specifici = confidenza più alta match_len = len(pattern.pattern) confidence = min(0.95, 0.5 + (match_len / 100)) return category, confidence return "uncategorized", 0.0 def categorize_with_explanation(self, skill_id: str) -> Dict: """ Categorizza una skill e fornisce spiegazione dettagliata. """ category, confidence = self.categorize(skill_id) # Trova quale pattern ha fatto match matched_pattern = None skill_id_lower = skill_id.lower() if category != "uncategorized": for pattern in self.compiled_rules[category]: if pattern.search(skill_id_lower): matched_pattern = pattern.pattern break return { "id": skill_id, "category": category, "confidence": confidence, "matched_pattern": matched_pattern, "needs_review": confidence < 0.7, } def load_skills(filepath: Path) -> List[Dict]: """Carica le skills dal file JSON.""" with open(filepath, "r", encoding="utf-8") as f: return json.load(f) def save_skills(filepath: Path, skills: List[Dict]) -> None: """Salva le skills nel file JSON.""" with open(filepath, "w", encoding="utf-8") as f: json.dump(skills, f, indent=2, ensure_ascii=False) def generate_report(categorized: List[Dict], uncategorized: List[Dict]) -> str: """Genera un report di categorizzazione.""" report = [] report.append("=" * 80) report.append("REPORT DI CATEGORIZZAZIONE SKILLS") report.append("=" * 80) report.append("") # Statistiche generali total = len(categorized) + len(uncategorized) categorized_count = len(categorized) uncategorized_count = len(uncategorized) success_rate = (categorized_count / total * 100) if total > 0 else 0 report.append(f"Totale skills processate: {total}") report.append(f"Categorizzate: {categorized_count} ({success_rate:.1f}%)") report.append(f"Non categorizzate: {uncategorized_count} ({100-success_rate:.1f}%)") report.append("") # Distribuzione per categoria category_counts: Dict[str, int] = {} low_confidence: List[Dict] = [] for skill in categorized: cat = skill["category"] category_counts[cat] = category_counts.get(cat, 0) + 1 if skill["confidence"] < 0.7: low_confidence.append(skill) report.append("-" * 80) report.append("DISTRIBUZIONE PER CATEGORIA") report.append("-" * 80) for cat, count in sorted(category_counts.items(), key=lambda x: -x[1]): report.append(f" {cat}: {count} skills") report.append("") # Skills a bassa confidenza if low_confidence: report.append("-" * 80) report.append(f"SKILLS A BASSA CONFIDENZA ({len(low_confidence)})") report.append("-" * 80) for skill in sorted(low_confidence, key=lambda x: x["confidence"]): report.append( f" {skill['id']}: {skill['category']} " f"(confidenza: {skill['confidence']:.2f})" ) report.append("") # Skills non categorizzate if uncategorized: report.append("-" * 80) report.append(f"SKILLS NON CATEGORIZZATE ({len(uncategorized)})") report.append("-" * 80) for skill in uncategorized[:50]: # Mostra prime 50 report.append(f" {skill['id']}") if len(uncategorized) > 50: report.append(f" ... e altre {len(uncategorized) - 50}") report.append("") report.append("=" * 80) return "\n".join(report) def main(): """Funzione principale.""" # Percorsi skills_file = Path("/Users/nicco/Projects/antigravity-awesome-skills/apps/web-app/public/skills.json") backup_file = skills_file.with_suffix(".json.backup") report_file = Path("/Users/nicco/Projects/antigravity-awesome-skills/categorization_report.txt") print(f"📂 Caricando skills da: {skills_file}") # Carica skills skills = load_skills(skills_file) print(f"✅ Caricate {len(skills)} skills") # Crea backup save_skills(backup_file, skills) print(f"💾 Backup creato: {backup_file}") # Inizializza categorizer categorizer = SkillCategorizer() # Categorizza categorized = [] uncategorized = [] changes_made = [] for skill in skills: skill_id = skill["id"] current_category = skill.get("category", "uncategorized") # Salta se già categorizzata e non è "uncategorized" if current_category != "uncategorized": continue result = categorizer.categorize_with_explanation(skill_id) if result["category"] != "uncategorized": skill["category"] = result["category"] categorized.append({ **result, "original_category": current_category, }) changes_made.append(skill_id) else: uncategorized.append(skill) print(f"📝 Categorizzate {len(categorized)} skills") print(f"❓ Non categorizzate: {len(uncategorized)} skills") # Salva risultati save_skills(skills_file, skills) print(f"💾 Skills aggiornate salvate in: {skills_file}") # Genera e salva report report = generate_report(categorized, uncategorized) with open(report_file, "w", encoding="utf-8") as f: f.write(report) print(f"📊 Report salvato in: {report_file}") # Stampa sintesi print("\n" + "=" * 60) print("SINTESI") print("=" * 60) print(report) return len(categorized), len(uncategorized) if __name__ == "__main__": categorized, uncategorized = main() print(f"\n✅ Completato! {categorized} skills categorizzate, {uncategorized} rimaste uncategorized")