Files
proffesor-for-testing__agen…/.gitignore
Dragan Spiridonov b04f0fdace fix(rvf): atomic brain export + recovery from unusable stores (#563)
An export killed mid-write (hook timeout, session teardown, SIGKILL) left a
store created but never completed. It could neither be opened (0x0106
ManifestNotFound) nor created over (0x0303 FsyncFailed, path exists), so the
RVF backend stayed silently disabled for the life of the project.

Export is now atomic: build at `<path>.tmp.<pid>`, close, then rename over the
final path. An interrupted export leaves the previous good store untouched.
Stale tmps are swept, skipping any whose owning pid is still alive.

Recovery is wired into all three open paths (dual-writer/brain.rvf, shared
adapter/patterns.rvf, pattern-store ladder): when open AND create both fail the
file is provably unusable, so it is quarantined aside — not deleted — and the
derived cache is rebuilt.

Recovery is deliberately NOT keyed on the signature reported in the issue.
Measured against @ruvector/rvf-node 0.1.8: `FLVR` is the lock record's own
magic (the store's is `SFVR`), so a 104-byte FLVR lock is an ordinary stale
lock, not leaked store bytes; and a valid empty store is exactly 162 bytes,
the size reported as "truncated". Keying on either would quarantine healthy
stores out from under live processes. The lock record does carry its owner's
pid (u32 LE at offset 4), which now guards recovery and also fixes a
pre-existing hazard: stale-lock cleanup previously unlinked locks
unconditionally, breaking live peers.

Also converts three require() calls of source modules to static imports. They
resolve in the esbuild bundle but throw under the test runner, so tests were
silently exercising a different code path than production.

Tests: real SIGKILL mid-export reproduction (previously truncated the store to
162 bytes + stale lock, matching the report), fault-injected export failure,
and recovery through each open path. All fail without the fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 12:57:58 +00:00

281 lines
6.0 KiB
Plaintext

# macOS
.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# Node.js (for future website development)
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Environment variables
.env
.env.local
.env.production.local
.env.development.local
.env.test.local
# Local n8n data (contains credentials, database, etc.)
.n8n-local/
# Core dumps (file only, not directories)
/core
# Allow wizard core infrastructure
!src/cli/wizards/core/
# Test results (generated files)
test-results/
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# Build outputs (for future website)
.next/
out/
build/
dist/
# Logs
logs/
*.log
# Testing
coverage/
# But allow Phase 3 QE tool directories
!src/mcp/tools/qe/coverage/
!src/mcp/tools/qe/flaky-detection/
!src/mcp/tools/qe/performance/
!src/mcp/tools/qe/visual/
.nyc_output/
# Test temporary databases (prevent leaking to project root)
.test-memory-*.db*
.test-learning*.db*
tests/.tmp/
# Misc
*.bak
*.tmp
.cache/
.roo/
.hive-mind/
# Project-specific ignores
CLAUDE.md.backup
/aqe
# Removed Windows wrapper files per user request
hive-mind-prompt-*.txt
claude-flow-core/bin/
claude-flow-core/dist-cjs/
tests/__mocks__/
!src/core/coordination/
!src/core/memory/
!src/coverage/
# But block Istanbul HTML report files generated inside src/coverage/
src/coverage/*.css
src/coverage/*.js
src/coverage/*.html
src/coverage/*.png
src/coverage/*.json
!src/memory/
!tests/memory/
.claude/agents/test-agent.json
.claude/agents/failing-agent.json
.claude/worktrees/
tests/temp/
# Ignore memory directories but allow source code
memory/claude-flow-data.json
memory/sessions/*
!memory/sessions/README.md
memory/agents/*
!memory/agents/README.md
coordination/memory_bank/*
coordination/subtasks/*
coordination/orchestration/*
*.db*
*.sqlite
*.sqlite-journal
*.sqlite-wal
# Claude Flow runtime (but not source adapters)
/claude-flow
!src/adapters/claude-flow/
.agentic-qe/aqe.rvf.manifest.json
.agentic-qe/memory/
# Issue #563: quarantined unusable RVF stores and in-flight export tmps
*.rvf.corrupt-*
*.rvf.tmp.*
# ADR-070: Ed25519 witness-chain signing keys — never commit private key material
.agentic-qe/witness-keys/
.agentic-qe/data/learning/state.json
.agentic-qe/data/improvement/state.json
.agentic-qe/a11y-scans/
data/
!src/adapters/a2ui/data/
test-projects/
# Mock files - allow ESM module mocks for CI
__mocks__/*
!__mocks__/agentdb.ts
!__mocks__/@ruvector/
!__mocks__/@ruvector/**
# Test artifacts that should not be committed
test-learning-persistence
junit.xml
docs/qx-reports/*
# Generated reports and client-specific analysis (should not be committed)
*-qx-analysis-report.md
*-a11y-audit.md
*-qe-assessment.md
*-threat-model.md
*-security-threat-model.md
qx-*.md
QX-*.md
# Claude Flow generated files
.claude/settings.local.json
.claude/memory/
# Visual test artifacts
.visual-tests/
.mcp.json
claude-flow.config.json
.swarm/
.hive-mind/
.claude-flow/
!src/memory/
!src/core/memory/
!tests/memory/
!src/edge/p2p/coordination/
memory/claude-flow-data.json
memory/sessions/*
!memory/sessions/README.md
memory/agents/*
!memory/agents/README.md
coordination/memory_bank/*
coordination/subtasks/*
coordination/orchestration/*
*.db
*.db-journal
*.db-wal
*.sqlite
*.sqlite-journal
*.sqlite-wal
# Removed Windows wrapper files per user request
hive-mind-prompt-*.txt
tests/tmp/*
tmp/*
# RuVector intelligence data (local learning, not for git)
.ruvector/
**/intelligence.json
**/.ruvector/
.env.supabase
# AQE data directories (local, not for git)
.agentic-qe/results/*
.agentic-qe/.cve-cache
.agentic-qe/*-scans/
*.db-shm
# qe-browser visual baselines + helper script local state (ADR-091)
# Per-project baselines are intentionally local; users opt in to commit
# their own baselines by removing the relevant entry from their project
# .gitignore. The skill itself never commits baselines.
.aqe/
!.aqe/visual-baselines/.gitkeep
# RVF binary brain data (local learning state, not for git)
*.rvf
*.rvf.idmap.json
*.rvf.lock
# Accessibility scan outputs (generated, may contain site-specific data)
docs/accessibility-scans/
# QCSD Analysis Reports (site-specific, may contain sensitive findings)
Agentic QCSD/
L2C/
# n8n instance-specific files (contain internal URLs/credentials)
.env.n8n
scripts/n8n-predeploy-check.sh
**/n8n-*-config.*
**/*acngva*
# L2C Documents (user-specific, not for git)
L2C Documents/
:memory:
# v2 archive
v2-archive.tar.gz
.agentic-qe/.claude/memory/
.test-tmp/
.agentic-qe/sessions/
.agentic-qe/notifications/
# Timestamped audit-tool artifacts — written to docs/reports/ during
# sessions but should never land in commits. Explicit patterns (not a
# blanket docs/reports/ ignore) so intentional reports can still be
# committed.
docs/reports/coherence-comparison-*.json
docs/reports/coherence-comparison-*.md
# ADR-115 dependency-security reports — regenerated by deps:audit / deps:update
reports/dependency-audit.json
reports/dependency-audit.md
reports/dependency-update.json
reports/dependency-update.md
# Transient benchmark/eval run outputs — canonical evidence is force-added below
benchmarks/interaction/results/*
tests/safety/behavioral/results/*
!benchmarks/interaction/results/README.md
!benchmarks/interaction/results/results-run2.jsonl
!benchmarks/interaction/results/summary-run2.json
!tests/safety/behavioral/results/README.md
!tests/safety/behavioral/results/live-haiku.json
!tests/safety/behavioral/results/live-sonnet.json
!tests/safety/behavioral/results/live-opus.json
# Local recovery artifacts (macOS native binary backups from container fixes)
.agentic-qe/native-binary-backups/
# WAL monitor (option C) local artifacts
.agentic-qe/wal-monitor.log
.agentic-qe/wal-monitor.ALERT
.agentic-qe/*.moncopy-*
# LLM-generated security audit reports dumped to root by the ruflo audit worker (daemon now disabled)
SECURITY_AUDIT_*.json
security-audit-*.json