TheFlow
|
29f50124b5
|
fix: MongoDB persistence and inst_016-018 content validation enforcement
This commit implements critical fixes to stabilize the MongoDB persistence layer
and adds inst_016-018 content validation to BoundaryEnforcer as specified in
instruction history.
## Context
- First session using Anthropic's new API Memory system
- Fixed 3 MongoDB persistence test failures
- Implemented BoundaryEnforcer inst_016-018 trigger logic per user request
- All unit tests now passing (61/61 BoundaryEnforcer, 25/25 BlogCuration)
## Fixes
### 1. CrossReferenceValidator: Port Regex Enhancement
- **File**: src/services/CrossReferenceValidator.service.js:203
- **Issue**: Regex couldn't extract port from "port 27017" (space-delimited format)
- **Fix**: Changed `/port[:=]\s*(\d{4,5})/i` to `/port[:\s=]\s*(\d{4,5})/i`
- **Result**: Now matches "port: X", "port = X", and "port X" formats
- **Tests**: 28/28 CrossReferenceValidator tests passing
### 2. BlogCuration: MongoDB Method Correction
- **File**: src/services/BlogCuration.service.js:187
- **Issue**: Called non-existent `Document.findAll()` method
- **Fix**: Changed to `Document.list({ limit: 20, skip: 0 })`
- **Result**: BlogCuration can now fetch existing documents for topic generation
- **Tests**: 25/25 BlogCuration tests passing
### 3. MemoryProxy: Optional Anthropic API Integration
- **File**: src/services/MemoryProxy.service.js
- **Issue**: Treated Anthropic Memory Tool API as mandatory, causing errors without API key
- **Fix**: Made Anthropic client optional with graceful degradation
- **Architecture**: MongoDB (required) + Anthropic API (optional enhancement)
- **Result**: System functions fully without CLAUDE_API_KEY environment variable
### 4. AuditLog Model: Duplicate Index Fix
- **File**: src/models/AuditLog.model.js:132
- **Issue**: Mongoose warning about duplicate timestamp index
- **Fix**: Removed inline `index: true`, kept TTL index definition at line 149
- **Result**: No more Mongoose duplicate index warnings
### 5. BlogCuration Tests: Mock API Correction
- **File**: tests/unit/BlogCuration.service.test.js
- **Issue**: Tests mocked non-existent `generateBlogTopics()` function
- **Fix**: Updated mocks to use actual `sendMessage()` and `extractJSON()` methods
- **Result**: All 25 BlogCuration tests passing
## New Features
### 6. BoundaryEnforcer: inst_016-018 Content Validation (MAJOR)
- **File**: src/services/BoundaryEnforcer.service.js:508-580
- **Purpose**: Prevent fabricated statistics, absolute guarantees, and unverified claims
- **Implementation**: Added `_checkContentViolations()` private method
- **Enforcement Rules**:
- **inst_017**: Blocks absolute assurance terms (guarantee, 100% secure, never fails)
- **inst_016**: Blocks statistics/ROI/$ amounts without sources
- **inst_018**: Blocks production claims (production-ready, battle-tested) without evidence
- **Mechanism**: All violations classified as VALUES boundary violations (honesty/transparency)
- **Tests**: 22 new comprehensive tests in tests/unit/BoundaryEnforcer.test.js
- **Result**: 61/61 BoundaryEnforcer tests passing
### Regex Pattern for inst_016 (Statistics Detection):
```regex
/\d+(\.\d+)?%|\$[\d,]+|\d+x\s*roi|payback\s*(period)?\s*of\s*\d+|\d+[\s-]*(month|year)s?\s*payback|\d+(\.\d+)?m\s*(saved|savings)/i
```
### Detection Examples:
- ✅ BLOCKS: "This system guarantees 100% security"
- ✅ BLOCKS: "Delivers 1315% ROI without sources"
- ✅ BLOCKS: "Production-ready framework" (without testing_evidence)
- ✅ ALLOWS: "Research shows 85% improvement [source: example.com]"
- ✅ ALLOWS: "Validated framework with testing_evidence provided"
## MongoDB Models (New Files)
- src/models/AuditLog.model.js - Audit log persistence with TTL
- src/models/GovernanceRule.model.js - Governance rules storage
- src/models/SessionState.model.js - Session state tracking
- src/models/VerificationLog.model.js - Verification logs
- src/services/AnthropicMemoryClient.service.js - Optional API integration
## Test Results
- BoundaryEnforcer: 61/61 tests passing (22 new inst_016-018 tests)
- BlogCuration: 25/25 tests passing
- CrossReferenceValidator: 28/28 tests passing
## Framework Compliance
- ✅ Implements inst_016, inst_017, inst_018 enforcement
- ✅ Addresses 2025-10-09 framework failure (fabricated statistics on leader.html)
- ✅ All content generation now subject to honesty/transparency validation
- ✅ Human approval required for statistical claims without sources
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-11 00:17:03 +13:00 |
|
TheFlow
|
e8cc023a05
|
test: add comprehensive unit test suite for Tractatus governance services
Implemented comprehensive unit test coverage for all 5 core governance services:
1. InstructionPersistenceClassifier.test.js (51 tests)
- Quadrant classification (STR/OPS/TAC/SYS/STO)
- Persistence level calculation
- Verification requirements
- Temporal scope detection
- Explicitness measurement
- 27027 failure mode prevention
- Metadata preservation
- Edge cases and consistency
2. CrossReferenceValidator.test.js (39 tests)
- 27027 failure mode prevention (critical)
- Conflict detection between actions and instructions
- Relevance calculation and prioritization
- Conflict severity levels (CRITICAL/WARNING/MINOR)
- Parameter extraction from actions/instructions
- Lookback window management
- Complex multi-parameter scenarios
3. BoundaryEnforcer.test.js (39 tests)
- Tractatus 12.1-12.7 boundary enforcement
- VALUES, WISDOM, AGENCY, PURPOSE boundaries
- Human judgment requirements
- Multi-boundary violation detection
- Safe AI operations (allowed vs restricted)
- Context-aware enforcement
- Audit trail generation
4. ContextPressureMonitor.test.js (32 tests)
- Token usage pressure detection
- Conversation length monitoring
- Task complexity analysis
- Error frequency tracking
- Pressure level calculation (NORMAL→DANGEROUS)
- Recommendations by pressure level
- 27027 incident correlation
- Pressure history and trends
5. MetacognitiveVerifier.test.js (31 tests)
- Alignment verification (action vs reasoning)
- Coherence checking (internal consistency)
- Completeness verification
- Safety assessment and risk levels
- Alternative consideration
- Confidence calculation
- Pressure-adjusted verification
- 27027 failure mode prevention
Total: 192 tests (30 currently passing)
Test Status:
- Tests define expected API for all governance services
- 30/192 tests passing with current service implementations
- Failing tests identify missing methods (getStats, reset, etc.)
- Comprehensive test coverage guides future development
- All tests use correct singleton pattern for service instances
Next Steps:
- Implement missing service methods (getStats, reset, etc.)
- Align service return structures with test expectations
- Add integration tests for governance middleware
- Achieve >80% test pass rate
The test suite provides a world-class specification for the Tractatus
governance framework and ensures AI safety guarantees are testable.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-10-07 01:11:21 +13:00 |
|