**Git Commit Tracking** - Automatically capture git commit hash when claims/observations are ingested - Store in assertion metadata for temporal context and audit trails - Graceful degradation in non-git environments - Solves double-commit problem by capturing hash at ingestion time **Implementation** - walker/git.rs: get_current_commit_hash() utility function - bridge.rs: Accept optional git_commit parameter in all conversion functions - episteme/local: Store project_root, capture git hash during ingestion - 5 new tests for git hash tracking + metadata validation - All 1162 aphoria tests passing **Documentation Overhaul** - README: Added Observations vs Claims distinction, git tracking, dashboard - CLI Reference: New sections for git integration and ignore/exclusion system - Comprehensive ignore documentation: .aphoriaignore, inline comments, 4 methods - Enhanced verification engine docs with matching capabilities - DOCUMENTATION_UPDATES.md: Complete audit summary **Dashboard Separation** - Moved Aphoria-specific UI from stemedb-dashboard to aphoria-dashboard - Clean separation of concerns: StemeDB for core, Aphoria for security - Added dashboard documentation and setup guides Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
151 lines
4.5 KiB
Bash
Executable File
151 lines
4.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Dashboard Separation Verification Script
|
|
# Run this after updating Node.js to >=20.9.0
|
|
|
|
set -e
|
|
|
|
echo "==================================="
|
|
echo "Dashboard Separation Verification"
|
|
echo "==================================="
|
|
echo ""
|
|
|
|
# Check Node.js version
|
|
echo "1. Checking Node.js version..."
|
|
NODE_VERSION=$(node -v)
|
|
echo " Current Node.js: $NODE_VERSION"
|
|
echo " Required: >=20.9.0"
|
|
echo ""
|
|
|
|
# Check directory structure
|
|
echo "2. Verifying directory structure..."
|
|
if [ -d "applications/stemedb-dashboard" ]; then
|
|
echo " ✅ StemeDB Dashboard directory exists"
|
|
else
|
|
echo " ❌ StemeDB Dashboard directory missing"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -d "applications/aphoria-dashboard" ]; then
|
|
echo " ✅ Aphoria Dashboard directory exists"
|
|
else
|
|
echo " ❌ Aphoria Dashboard directory missing"
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
|
|
# Check package.json ports
|
|
echo "3. Verifying port configuration..."
|
|
STEMEDB_PORT=$(grep '"dev":' applications/stemedb-dashboard/package.json | grep -o '18188' || echo "")
|
|
APHORIA_PORT=$(grep '"dev":' applications/aphoria-dashboard/package.json | grep -o '18189' || echo "")
|
|
|
|
if [ "$STEMEDB_PORT" = "18188" ]; then
|
|
echo " ✅ StemeDB Dashboard: port 18188"
|
|
else
|
|
echo " ❌ StemeDB Dashboard: port mismatch (expected 18188)"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$APHORIA_PORT" = "18189" ]; then
|
|
echo " ✅ Aphoria Dashboard: port 18189"
|
|
else
|
|
echo " ❌ Aphoria Dashboard: port mismatch (expected 18189)"
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
|
|
# Check StemeDB routes (should NOT have Aphoria routes)
|
|
echo "4. Verifying StemeDB Dashboard routes..."
|
|
if [ -d "applications/stemedb-dashboard/src/app/scans" ]; then
|
|
echo " ❌ ERROR: StemeDB Dashboard still has /scans route"
|
|
exit 1
|
|
fi
|
|
if [ -d "applications/stemedb-dashboard/src/app/claims" ]; then
|
|
echo " ❌ ERROR: StemeDB Dashboard still has /claims route"
|
|
exit 1
|
|
fi
|
|
if [ -d "applications/stemedb-dashboard/src/app/corpus" ]; then
|
|
echo " ❌ ERROR: StemeDB Dashboard still has /corpus route"
|
|
exit 1
|
|
fi
|
|
echo " ✅ Aphoria routes removed from StemeDB Dashboard"
|
|
echo ""
|
|
|
|
# Check Aphoria routes (should have all 3)
|
|
echo "5. Verifying Aphoria Dashboard routes..."
|
|
if [ ! -d "applications/aphoria-dashboard/src/app/scans" ]; then
|
|
echo " ❌ ERROR: Aphoria Dashboard missing /scans route"
|
|
exit 1
|
|
fi
|
|
if [ ! -d "applications/aphoria-dashboard/src/app/claims" ]; then
|
|
echo " ❌ ERROR: Aphoria Dashboard missing /claims route"
|
|
exit 1
|
|
fi
|
|
if [ ! -d "applications/aphoria-dashboard/src/app/corpus" ]; then
|
|
echo " ❌ ERROR: Aphoria Dashboard missing /corpus route"
|
|
exit 1
|
|
fi
|
|
echo " ✅ All 3 Aphoria routes present"
|
|
echo ""
|
|
|
|
# Check shared components exist in both
|
|
echo "6. Verifying shared components..."
|
|
SHARED_COMPONENTS=(
|
|
"src/components/ui/button.tsx"
|
|
"src/components/shared/api-status.tsx"
|
|
"src/lib/api/client.ts"
|
|
)
|
|
|
|
for component in "${SHARED_COMPONENTS[@]}"; do
|
|
if [ ! -f "applications/stemedb-dashboard/$component" ]; then
|
|
echo " ❌ Missing in StemeDB: $component"
|
|
exit 1
|
|
fi
|
|
if [ ! -f "applications/aphoria-dashboard/$component" ]; then
|
|
echo " ❌ Missing in Aphoria: $component"
|
|
exit 1
|
|
fi
|
|
done
|
|
echo " ✅ Shared components present in both dashboards"
|
|
echo ""
|
|
|
|
# Try to build (optional, skip if Node version is too old)
|
|
echo "7. Build verification (optional)..."
|
|
if [[ "$NODE_VERSION" < "v20.9.0" ]]; then
|
|
echo " ⚠️ SKIPPED: Node.js version too old (need >=20.9.0)"
|
|
echo " Update Node.js and re-run this script to verify builds"
|
|
else
|
|
echo " Building StemeDB Dashboard..."
|
|
(cd applications/stemedb-dashboard && npm run build > /dev/null 2>&1)
|
|
if [ $? -eq 0 ]; then
|
|
echo " ✅ StemeDB Dashboard builds successfully"
|
|
else
|
|
echo " ❌ StemeDB Dashboard build failed"
|
|
exit 1
|
|
fi
|
|
|
|
echo " Building Aphoria Dashboard..."
|
|
(cd applications/aphoria-dashboard && npm run build > /dev/null 2>&1)
|
|
if [ $? -eq 0 ]; then
|
|
echo " ✅ Aphoria Dashboard builds successfully"
|
|
else
|
|
echo " ❌ Aphoria Dashboard build failed"
|
|
exit 1
|
|
fi
|
|
fi
|
|
echo ""
|
|
|
|
# Summary
|
|
echo "==================================="
|
|
echo "✅ Verification Complete!"
|
|
echo "==================================="
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Update Node.js to >=20.9.0 (if needed)"
|
|
echo "2. Run: cargo run --bin stemedb-api"
|
|
echo "3. Run: cd applications/stemedb-dashboard && npm run dev"
|
|
echo "4. Run: cd applications/aphoria-dashboard && npm run dev"
|
|
echo "5. Visit:"
|
|
echo " - StemeDB: http://localhost:18188"
|
|
echo " - Aphoria: http://localhost:18189"
|
|
echo ""
|