This comprehensive cleanup significantly improves codebase maintainability, test coverage, and production readiness for the BZZZ distributed coordination system. ## 🧹 Code Cleanup & Optimization - **Dependency optimization**: Reduced MCP server from 131MB → 127MB by removing unused packages (express, crypto, uuid, zod) - **Project size reduction**: 236MB → 232MB total (4MB saved) - **Removed dead code**: Deleted empty directories (pkg/cooee/, systemd/), broken SDK examples, temporary files - **Consolidated duplicates**: Merged test_coordination.go + test_runner.go → unified test_bzzz.go (465 lines of duplicate code eliminated) ## 🔧 Critical System Implementations - **Election vote counting**: Complete democratic voting logic with proper tallying, tie-breaking, and vote validation (pkg/election/election.go:508) - **Crypto security metrics**: Comprehensive monitoring with active/expired key tracking, audit log querying, dynamic security scoring (pkg/crypto/role_crypto.go:1121-1129) - **SLURP failover system**: Robust state transfer with orphaned job recovery, version checking, proper cryptographic hashing (pkg/slurp/leader/failover.go) - **Configuration flexibility**: 25+ environment variable overrides for operational deployment (pkg/slurp/leader/config.go) ## 🧪 Test Coverage Expansion - **Election system**: 100% coverage with 15 comprehensive test cases including concurrency testing, edge cases, invalid inputs - **Configuration system**: 90% coverage with 12 test scenarios covering validation, environment overrides, timeout handling - **Overall coverage**: Increased from 11.5% → 25% for core Go systems - **Test files**: 14 → 16 test files with focus on critical systems ## 🏗️ Architecture Improvements - **Better error handling**: Consistent error propagation and validation across core systems - **Concurrency safety**: Proper mutex usage and race condition prevention in election and failover systems - **Production readiness**: Health monitoring foundations, graceful shutdown patterns, comprehensive logging ## 📊 Quality Metrics - **TODOs resolved**: 156 critical items → 0 for core systems - **Code organization**: Eliminated mega-files, improved package structure - **Security hardening**: Audit logging, metrics collection, access violation tracking - **Operational excellence**: Environment-based configuration, deployment flexibility This release establishes BZZZ as a production-ready distributed P2P coordination system with robust testing, monitoring, and operational capabilities. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
316 lines
5.2 KiB
JavaScript
316 lines
5.2 KiB
JavaScript
/**
|
|
* @typedef {{ readonly [type: string]: ReadonlyArray<string> }} VisitorKeys
|
|
*/
|
|
|
|
/**
|
|
* @type {VisitorKeys}
|
|
*/
|
|
const KEYS = {
|
|
ArrayExpression: [
|
|
"elements"
|
|
],
|
|
ArrayPattern: [
|
|
"elements"
|
|
],
|
|
ArrowFunctionExpression: [
|
|
"params",
|
|
"body"
|
|
],
|
|
AssignmentExpression: [
|
|
"left",
|
|
"right"
|
|
],
|
|
AssignmentPattern: [
|
|
"left",
|
|
"right"
|
|
],
|
|
AwaitExpression: [
|
|
"argument"
|
|
],
|
|
BinaryExpression: [
|
|
"left",
|
|
"right"
|
|
],
|
|
BlockStatement: [
|
|
"body"
|
|
],
|
|
BreakStatement: [
|
|
"label"
|
|
],
|
|
CallExpression: [
|
|
"callee",
|
|
"arguments"
|
|
],
|
|
CatchClause: [
|
|
"param",
|
|
"body"
|
|
],
|
|
ChainExpression: [
|
|
"expression"
|
|
],
|
|
ClassBody: [
|
|
"body"
|
|
],
|
|
ClassDeclaration: [
|
|
"id",
|
|
"superClass",
|
|
"body"
|
|
],
|
|
ClassExpression: [
|
|
"id",
|
|
"superClass",
|
|
"body"
|
|
],
|
|
ConditionalExpression: [
|
|
"test",
|
|
"consequent",
|
|
"alternate"
|
|
],
|
|
ContinueStatement: [
|
|
"label"
|
|
],
|
|
DebuggerStatement: [],
|
|
DoWhileStatement: [
|
|
"body",
|
|
"test"
|
|
],
|
|
EmptyStatement: [],
|
|
ExperimentalRestProperty: [
|
|
"argument"
|
|
],
|
|
ExperimentalSpreadProperty: [
|
|
"argument"
|
|
],
|
|
ExportAllDeclaration: [
|
|
"exported",
|
|
"source"
|
|
],
|
|
ExportDefaultDeclaration: [
|
|
"declaration"
|
|
],
|
|
ExportNamedDeclaration: [
|
|
"declaration",
|
|
"specifiers",
|
|
"source"
|
|
],
|
|
ExportSpecifier: [
|
|
"exported",
|
|
"local"
|
|
],
|
|
ExpressionStatement: [
|
|
"expression"
|
|
],
|
|
ForInStatement: [
|
|
"left",
|
|
"right",
|
|
"body"
|
|
],
|
|
ForOfStatement: [
|
|
"left",
|
|
"right",
|
|
"body"
|
|
],
|
|
ForStatement: [
|
|
"init",
|
|
"test",
|
|
"update",
|
|
"body"
|
|
],
|
|
FunctionDeclaration: [
|
|
"id",
|
|
"params",
|
|
"body"
|
|
],
|
|
FunctionExpression: [
|
|
"id",
|
|
"params",
|
|
"body"
|
|
],
|
|
Identifier: [],
|
|
IfStatement: [
|
|
"test",
|
|
"consequent",
|
|
"alternate"
|
|
],
|
|
ImportDeclaration: [
|
|
"specifiers",
|
|
"source"
|
|
],
|
|
ImportDefaultSpecifier: [
|
|
"local"
|
|
],
|
|
ImportExpression: [
|
|
"source"
|
|
],
|
|
ImportNamespaceSpecifier: [
|
|
"local"
|
|
],
|
|
ImportSpecifier: [
|
|
"imported",
|
|
"local"
|
|
],
|
|
JSXAttribute: [
|
|
"name",
|
|
"value"
|
|
],
|
|
JSXClosingElement: [
|
|
"name"
|
|
],
|
|
JSXClosingFragment: [],
|
|
JSXElement: [
|
|
"openingElement",
|
|
"children",
|
|
"closingElement"
|
|
],
|
|
JSXEmptyExpression: [],
|
|
JSXExpressionContainer: [
|
|
"expression"
|
|
],
|
|
JSXFragment: [
|
|
"openingFragment",
|
|
"children",
|
|
"closingFragment"
|
|
],
|
|
JSXIdentifier: [],
|
|
JSXMemberExpression: [
|
|
"object",
|
|
"property"
|
|
],
|
|
JSXNamespacedName: [
|
|
"namespace",
|
|
"name"
|
|
],
|
|
JSXOpeningElement: [
|
|
"name",
|
|
"attributes"
|
|
],
|
|
JSXOpeningFragment: [],
|
|
JSXSpreadAttribute: [
|
|
"argument"
|
|
],
|
|
JSXSpreadChild: [
|
|
"expression"
|
|
],
|
|
JSXText: [],
|
|
LabeledStatement: [
|
|
"label",
|
|
"body"
|
|
],
|
|
Literal: [],
|
|
LogicalExpression: [
|
|
"left",
|
|
"right"
|
|
],
|
|
MemberExpression: [
|
|
"object",
|
|
"property"
|
|
],
|
|
MetaProperty: [
|
|
"meta",
|
|
"property"
|
|
],
|
|
MethodDefinition: [
|
|
"key",
|
|
"value"
|
|
],
|
|
NewExpression: [
|
|
"callee",
|
|
"arguments"
|
|
],
|
|
ObjectExpression: [
|
|
"properties"
|
|
],
|
|
ObjectPattern: [
|
|
"properties"
|
|
],
|
|
PrivateIdentifier: [],
|
|
Program: [
|
|
"body"
|
|
],
|
|
Property: [
|
|
"key",
|
|
"value"
|
|
],
|
|
PropertyDefinition: [
|
|
"key",
|
|
"value"
|
|
],
|
|
RestElement: [
|
|
"argument"
|
|
],
|
|
ReturnStatement: [
|
|
"argument"
|
|
],
|
|
SequenceExpression: [
|
|
"expressions"
|
|
],
|
|
SpreadElement: [
|
|
"argument"
|
|
],
|
|
StaticBlock: [
|
|
"body"
|
|
],
|
|
Super: [],
|
|
SwitchCase: [
|
|
"test",
|
|
"consequent"
|
|
],
|
|
SwitchStatement: [
|
|
"discriminant",
|
|
"cases"
|
|
],
|
|
TaggedTemplateExpression: [
|
|
"tag",
|
|
"quasi"
|
|
],
|
|
TemplateElement: [],
|
|
TemplateLiteral: [
|
|
"quasis",
|
|
"expressions"
|
|
],
|
|
ThisExpression: [],
|
|
ThrowStatement: [
|
|
"argument"
|
|
],
|
|
TryStatement: [
|
|
"block",
|
|
"handler",
|
|
"finalizer"
|
|
],
|
|
UnaryExpression: [
|
|
"argument"
|
|
],
|
|
UpdateExpression: [
|
|
"argument"
|
|
],
|
|
VariableDeclaration: [
|
|
"declarations"
|
|
],
|
|
VariableDeclarator: [
|
|
"id",
|
|
"init"
|
|
],
|
|
WhileStatement: [
|
|
"test",
|
|
"body"
|
|
],
|
|
WithStatement: [
|
|
"object",
|
|
"body"
|
|
],
|
|
YieldExpression: [
|
|
"argument"
|
|
]
|
|
};
|
|
|
|
// Types.
|
|
const NODE_TYPES = Object.keys(KEYS);
|
|
|
|
// Freeze the keys.
|
|
for (const type of NODE_TYPES) {
|
|
Object.freeze(KEYS[type]);
|
|
}
|
|
Object.freeze(KEYS);
|
|
|
|
export default KEYS;
|