Commit Graph

41 Commits

Author SHA1 Message Date
Test
50ad7e0e8c docs: add Boy Scout Rule to CLAUDE.md — leave every touched file better than found 2026-03-24 15:58:23 +01:00
Test
ea8d847d46 ci: add Average Code Health gate (≥8.9 floor, target 9.5) to CI, pre-commit, pre-push
- Both hotspot (≥9.5) and average (≥8.9) gates now block commit/push/CI
- Current average: 8.97 — threshold set at 8.9 to block regressions without
  blocking the current state; aspirational target remains 9.5
- pre-commit: replaced phantom pre_commit_code_health_safeguard with real inline check
- pre-push: CodeScene step is now blocking (was informational-only)
- CLAUDE.md: explicit instructions to monitor both scores via MCP CodeScene
2026-03-24 15:47:31 +01:00
Test
7eaa284d4e docs: require explicit Todoist move to In Review in task completion flow
Claude Code must move task to In Review via API before firing done signal.
Fixes silent failure where tasks stayed In Progress after completion.
2026-03-18 13:08:53 +01:00
Test
f7ab10222a docs: update CLAUDE.md — CodeScene threshold 9.2/9.2, fix port/finish-signal for no-worktree workflow 2026-03-17 22:01:26 +01:00
Test
b5a54c7f16 docs: add Kent Beck Test Desiderata to TDD section in CLAUDE.md 2026-03-17 21:35:47 +01:00
Test
7bcbf87067 docs: compress CLAUDE.md 360→93 lines — remove verbose explanations, keep rules
Removed: TDD rationale paragraphs, Phase 1 QA bullet lists (Claude infers from context),
verbose Vault Retrocompatibility pattern, design file node commands, menu bar structure
explanation, Push Workflow verbose anti-PR rationale.

Kept: all concrete rules, checklist commands, thresholds, scripts, gotchas.
2026-03-13 19:56:49 +01:00
Test
a23264eacb docs: convert remaining ASCII diagrams to Mermaid + add Mermaid rule to CLAUDE.md
ARCHITECTURE.md:
- System Overview → flowchart (React Frontend / Rust Backend / External Services)
- MCP Server Architecture → flowchart (index.js, vault.js, ws-bridge, transports)
- WebSocket Bridge → flowchart LR (Frontend ↔ ws-bridge ↔ vault)
- Vault Cache Three Strategies → flowchart (full scan / incremental / cache hit)
- Auto-Save Flow → flowchart LR
- Git Sync Flow → flowchart TD (auto-sync + manual commit paths)

CLAUDE.md:
- Added 'Documentation Diagrams' section: Mermaid preferred for all new diagrams,
  convert ASCII on sight, exception for spatial wireframe layouts
2026-03-13 19:22:36 +01:00
Test
3a0fd0620f docs: add Phase 1b — Tauri dev QA for filesystem/native tasks
Claude Code must also test with pnpm tauri dev (not just Playwright)
when the task touches: filesystem, AI context pipeline, MCP server,
git integration, or native Tauri commands.

Playwright tests mock-tauri handlers — they cannot catch bugs in the
real file read/write layer. Phase 1b closes this gap.

Lesson from ai-chat-empty-body: bug was in MCP server reading from disk,
invisible to Playwright. Phase 1b would have caught it in attempt 1.
2026-03-08 21:52:30 +01:00
Test
11f8731d32 docs: strengthen Phase 1 QA requirements in CLAUDE.md
- Require Claude Code to write a new task-specific Playwright test for
  every task (not just run existing smoke tests)
- Test must fail before fix and pass after — proves coverage
- Clarify that Phase 1 is Claude Code's quality gate, not Brian's
- Brian's Phase 2 is a reinforcement check; if he finds a bug that
  Phase 1 should have caught, that is a Phase 1 failure

Lesson from ai-chat-empty-body: 5 QA cycles happened because Phase 1
never verified that the AI actually received note content end-to-end.
2026-03-08 20:54:44 +01:00
Test
058de96cbc docs: update ARCHITECTURE, ABSTRACTIONS, GETTING-STARTED to reflect current codebase
Updated all three docs to reflect significant features added since they were last written:
- AI agent panel (Claude CLI subprocess with tool execution + NDJSON streaming)
- Vault cache system (git-based incremental caching in cache.rs)
- Theme system (vault-based themes, useThemeManager, ThemePropertyEditor)
- Search & indexing (qmd integration, keyword/semantic/hybrid modes)
- Pulse view (git activity feed with pagination)
- GitHub OAuth (device flow, vault clone/create)
- Vault management (multi-vault, vault config, onboarding, WelcomeScreen)
- Raw editor mode (CodeMirror 6 alternative)
- Command palette (Cmd+K registry)
- Auto-sync & conflict resolution

Also added mandatory docs-update rule to CLAUDE.md: docs/ files must be
updated in the same commit as significant feature changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:09:23 +01:00
Test
efb233b18f feat: add Playwright smoke test infrastructure for task-scoped QA
Adds headless Chromium smoke tests that run before push, catching
UI/UX bugs before Brian QA. Includes shared helpers for command
palette and keyboard shortcut testing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 09:39:20 +01:00
Test
70f94d3a51 docs: add mandatory Playwright Phase 1 QA step before laputa-task-done
Claude Code must now run Playwright smoke tests against the dev server
before firing the done signal. This catches UI/UX bugs (missing Cmd+K
commands, broken shortcuts, layout issues) before Brian's native QA.

- Phase 1 (Playwright, headless) = Claude Code's responsibility
- Phase 2 (native Tauri, keyboard-only) = Brian's responsibility

Phase 1 covers: command palette entries, keyboard shortcuts, Tab
navigation, UI state changes. Phase 2 covers: file system, git, native
Tauri behaviors that can't run in the browser.
2026-03-06 08:36:01 +01:00
Test
41d43501a0 docs: never open PRs — push directly to main always 2026-03-02 12:03:31 +01:00
Test
bd7feb94e7 docs: add keyboard-first principle — every feature must be testable without mouse 2026-03-01 12:15:06 +01:00
Test
98314c5106 docs: require QA on pnpm tauri dev, not browser mode 2026-02-28 23:47:56 +01:00
lucaronin
baca6b1098 perf: optimize pre-push hook from ~12min to ~30s
- Add --no-clean to cargo llvm-cov for incremental builds (~5s vs ~8min)
- Skip Rust checks when no src-tauri/ files changed
- Merge redundant frontend test + coverage into single coverage step
- Reorder: fast lints (fmt, clippy) before slow coverage for quick feedback
- Add timing output and LAPUTA_FULL_COVERAGE=1 escape hatch

Expected: frontend-only push ~1 min, frontend+Rust ~2-3 min
2026-02-27 15:53:05 +01:00
lucaronin
35c5e0f2c3 ci: replace remote CI with local pre-push hook
All checks now run locally via .husky/pre-push before any push.
This eliminates GitHub Actions queue, runner saturation, and
'waiting for status' blocks entirely.

Hook runs: tsc, Vite build, frontend tests, frontend coverage (≥70%),
Rust coverage (≥85%), Clippy, rustfmt, CodeScene (≥9.2).

Claude Code is explicitly forbidden from using --no-verify (documented
in CLAUDE.md). Branch protection required status checks removed.
Remote CI kept as non-blocking safety net only.
2026-02-27 15:29:51 +01:00
lucaronin
72d21f6482 docs: update design workflow — light mode, frame layout, cleanup on merge 2026-02-25 22:04:23 +01:00
lucaronin
8911aad930 feat: raise CodeScene code health threshold to 9.2
The project currently scores ~9.33, so raising the CI gate from 8.45
to 9.2 prevents significant regressions while leaving headroom.
Updates both the CI workflow threshold and CLAUDE.md documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 15:06:24 +01:00
lucaronin
504bfa4907 refactor: rewrite CLAUDE.md (107 lines, critical rules first) + add pre-commit hook 2026-02-23 22:33:11 +01:00
lucaronin
da0a113eec docs: CI is a safety net, not discovery — enforce local checks before pushing 2026-02-23 22:27:11 +01:00
lucaronin
9ec46676f0 docs: no CI gate shortcuts — fix structural problems, not symptoms 2026-02-23 21:49:29 +01:00
lucaronin
4c7838522d docs: two-stage QA protocol — lockfile + native app on ~/Laputa 2026-02-23 21:33:41 +01:00
lucaronin
d6198e981b docs: strengthen QA requirements — native app on real vault mandatory for all tasks 2026-02-23 21:25:32 +01:00
lucaronin
d54c956082 docs: fix design file instructions — additive only, no cp ui-design.pen 2026-02-23 20:11:09 +01:00
lucaronin
8b994e7ccf docs: add macOS/Tauri gotchas and native QA workflow to CLAUDE.md 2026-02-23 08:11:03 +01:00
lucaronin
5b06391b01 docs: add never-develop-on-main rule + PR-based merge requirement 2026-02-22 10:19:33 +01:00
lucaronin
9008348066 docs: add new feature test rule and no coverage theater policy 2026-02-22 10:14:46 +01:00
lucaronin
e0788dcb0d docs: add test coverage checks to pre-commit workflow (vitest + cargo-llvm-cov) 2026-02-22 10:09:26 +01:00
lucaronin
8a468709f0 docs: enforce max 30min between commits to prevent work loss 2026-02-20 22:38:18 +01:00
lucaronin
cdc97bcf0e docs: update CLAUDE.md to reference docs/PROJECT-SPEC.md 2026-02-20 21:54:32 +01:00
lucaronin
e549684e71 fix: design file is ui-design.pen (in-repo) 2026-02-20 21:48:31 +01:00
lucaronin
ac061e2fc8 docs: add mandatory design file workflow to CLAUDE.md 2026-02-20 21:47:05 +01:00
lucaronin
ce615617fe docs: add product philosophy and PM decision-making principles to CLAUDE.md 2026-02-20 21:19:41 +01:00
lucaronin
c37c90f98e docs: add bug-to-test rule in CLAUDE.md 2026-02-17 21:37:58 +01:00
lucaronin
e7c4563200 feat: add comprehensive documentation and CI/CD pipeline
- Add docs/ with ARCHITECTURE, ABSTRACTIONS, GETTING-STARTED, THEMING
- Add GitHub Actions workflow with automated quality checks:
  • Tests (frontend + Rust)
  • Coverage (70% threshold)
  • Code Health (CodeScene delta analysis)
  • Documentation check (warning only)
  • Lint & Format (ESLint + Clippy + rustfmt)
- Configure coverage in vite.config.ts (v8 provider, 70% threshold)
- Add test:coverage script to package.json
- Install @vitest/coverage-v8
- Update CLAUDE.md with docs-update requirement
- Add CI/CD setup guides in .github/
2026-02-17 13:10:43 +01:00
lucaronin
7f047210e4 docs: enforce atomic commits in CLAUDE.md guidelines 2026-02-17 11:34:17 +01:00
lucaronin
e3dc38e58e Fix tauri.conf.json: remove invalid titleBarStyle overlay 2026-02-15 13:45:24 +01:00
lucaronin
463caf02ba Update CLAUDE.md with full project context and architecture notes 2026-02-14 19:01:53 +01:00
lucaronin
e72d66ae64 Add Tauri mock layer for browser testing and visual verification workflow 2026-02-14 18:54:27 +01:00
lucaronin
6b53cf8f50 Initialize Tauri v2 + React + TypeScript project with vault scanner
- Scaffold Vite + React + TypeScript frontend
- Add Tauri v2 backend with Rust
- Implement list_vault command: recursively scans .md files, parses
  YAML frontmatter (Is A, aliases, Belongs to, Related to, Status,
  Owner, Cadence), extracts title from H1 or filename
- 10 passing Rust tests for frontmatter parsing and vault scanning
- Configure Vitest and Playwright (test infrastructure)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 18:20:07 +01:00