mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
b04f0fdace
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>
281 lines
6.0 KiB
Plaintext
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
|