All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m36s
Migrate .claude/workflows/wave-*/ (gitignored) -> runs/<run-id>/ git-TRACKED (run.md+sub-md/+harvest/) + _ledger.md 2-beat + 3-layer anti-miss + containment model shift (B6 'any tracked-change=violation' -> 'tracked-change outside run-folder+code-disjoint=violation'). hmw.js wave->run-trace (accept args.run + alias). Review (R2+R3) caught C5 L1 over-claim -> fixed (em-main convention, engine no-fs). 3 run-id: wf_9c2cd2cd-2e7 / wf_e4e46725-231 / wf_636bc95b-939. 0 production code, state unchanged (Mig 53/88 tables/306 test/68 gotcha). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
107 lines
3.2 KiB
Plaintext
107 lines
3.2 KiB
Plaintext
# =============================================================
|
|
# .NET
|
|
# =============================================================
|
|
bin/
|
|
obj/
|
|
out/
|
|
*.user
|
|
*.suo
|
|
*.ide/
|
|
*.VisualState.xml
|
|
*.pidb
|
|
*.booproj
|
|
*.svd
|
|
*.pdb
|
|
*.mdb
|
|
.vs/
|
|
project.lock.json
|
|
project.fragment.lock.json
|
|
artifacts/
|
|
|
|
# EF Core migrations scratch
|
|
src/**/Migrations/*.Designer.cs.bak
|
|
|
|
# =============================================================
|
|
# Node / React / Vite
|
|
# =============================================================
|
|
node_modules/
|
|
dist/
|
|
dist-ssr/
|
|
.vite/
|
|
*.local
|
|
coverage/
|
|
.eslintcache
|
|
|
|
# =============================================================
|
|
# Logs
|
|
# =============================================================
|
|
logs/
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
lerna-debug.log*
|
|
|
|
# =============================================================
|
|
# Editor / OS
|
|
# =============================================================
|
|
.idea/
|
|
.vscode/*
|
|
!.vscode/settings.json
|
|
!.vscode/tasks.json
|
|
!.vscode/launch.json
|
|
!.vscode/extensions.json
|
|
Thumbs.db
|
|
desktop.ini
|
|
.DS_Store
|
|
|
|
# =============================================================
|
|
# Secrets / env
|
|
# =============================================================
|
|
appsettings.*.Local.json
|
|
appsettings.Production.json
|
|
*.env
|
|
.env.local
|
|
.env.*.local
|
|
src/Backend/SolutionErp.Api/.env
|
|
|
|
# Local MCP config — rag-unified stdio, machine-specific absolute paths
|
|
# (python + AI_INFRA claude-rag), no secrets, reconstructable → not shared
|
|
.mcp.json
|
|
|
|
# =============================================================
|
|
# Build artifacts / uploads
|
|
# =============================================================
|
|
src/Backend/SolutionErp.Api/wwwroot/uploads/
|
|
src/Backend/SolutionErp.Api/wwwroot/exports/
|
|
|
|
# =============================================================
|
|
# Claude / skills (keep tracked — these ARE source of truth)
|
|
# =============================================================
|
|
# .claude/ ← DO NOT ignore, skills are committed
|
|
!.claude/
|
|
!.claude/**
|
|
|
|
# HMW-mode marker — session-local toggle (T2: MUST gitignore — commit → clone stuck-ON / ungoverned on-ramp).
|
|
# Pattern AFTER !.claude/** so last-match wins (.claude/ itself not excluded → re-include valid).
|
|
.claude/hmw-mode.on
|
|
|
|
# HMW run-trace folders — Harness-10 (2026-06-18): `.claude/workflows/runs/<run-id>/` is git-TRACKED
|
|
# (run.md + sub-md/ + harvest/ + _ledger.md) for auditability. Stays tracked via the !.claude/** negation
|
|
# above — do NOT add an ignore rule for runs/. Containment model shifts from Harness-2 B6 ("wave-*/ gitignored
|
|
# → any tracked-change post-workflow = stray-write") to Harness-10 ("tracked-change OUTSIDE runs/<run-id>/ +
|
|
# assigned code-disjoint = violation"). Run-trace now VISIBLE in git-diff = direct audit (stronger).
|
|
#
|
|
# Legacy Harness-2 wave-folder + agent-team — kept ignored (superseded by runs/; no wave-*/ remain; harmless).
|
|
# Pattern AFTER !.claude/** so last-match wins (giống hmw-mode.on).
|
|
# ⚠️ check-ignore EXIT-CODE TRAP: exits 0 for BOTH a negation match and an ignore match. Use
|
|
# `git check-ignore X && echo IGNORED || echo NOT-IGNORED` → runs/ = NOT-IGNORED (tracked); wave-x/ = IGNORED.
|
|
.claude/workflows/wave-*/
|
|
.claude/agent-teams/
|
|
|
|
# Claude harness orphan dumps
|
|
*.zip
|
|
|
|
# Sub-agent output dumps (JSON/HTML scratch)
|
|
tmp/
|