futurefin-validation-and-qa

Defines evidence standards and test harnesses for validating FutureFin backend, engine, and frontend changes.

1|Updated May 2, 2026
One-click install
npx skills add https://github.com/maxlainz/FutureFin --skill futurefin-validation-and-qa-maxlainz
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: futurefin-validation-and-qa
Source: https://github.com/maxlainz/FutureFin/tree/main/.claude/skills/futurefin-validation-and-qa
Command: npx skills add https://github.com/maxlainz/FutureFin --skill futurefin-validation-and-qa-maxlainz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Projection errors in FutureFin are silent — numbers look plausible but are wrong — so eyeballing a chart is never acceptance. This Skill tells you exactly what counts as proof for a change: which of the three test suites to run, how the TestApp integration harness works, and how to write regression, parity, and context-field tests that actually catch bugs. ## Core Features & Use Cases - Evidence standards table: Maps each change type (refactor, model change, bug fix, visual change, absence assertion, context field) to the required proof, such as bit-exact regression capture or predict-then-measure. - Full test inventory and invocation: Documents the engine unit tests (cargo), backend integration tests against Postgres via TEST_DATABASE_URL, and frontend Vitest suites, including the isolated_pool() per-test schema mechanics and cleanup commands. - Harness knobs and house style: Explains TestConfig/spawn_with options (trusted proxy auth, base path, SPA fallback, MCP kill-switch) and the fake-behind-a-trait pattern for outbound integrations like the HA identity provider. - Use Case: Before merging a change to the FIRE projection math, use this Skill to write a failing pinning test first, run the full workspace suite against the ff-test-db container on port 5433, and verify the fire-parity.json fixture still matches on both client and server. ## Quick Start Ask the AI to determine which tests must run locally and what evidence is required before merging your FutureFin change.

Frequently Asked Questions about futurefin-validation-and-qa

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run the FutureFin backend integration tests locally?▼

Start a dedicated Postgres container on port 5433 with the provided docker run command, then run cargo test --workspace with TEST_DATABASE_URL pointing at it. If the variable is unset, tests default to that URL and panic when no Postgres is listening.

What evidence is required before merging a refactor in this repo?▼

A bit-exact regression capture: write the test asserting the value first, run it against pre-refactor code, commit the captured expected value, then refactor until green. Saying the chart looks the same is not acceptable evidence.

Why do cargo tests hang or fail with TEST_DATABASE_URL errors?▼

Integration tests panic at connect to TEST_DATABASE_URL when no Postgres is reachable at the default 127.0.0.1:5433 address. Start the ff-test-db container first; do not point the suite at the embedded Postgres of a running futurefin container.

Why does asserting Decimal values like 1000 fail in API tests?▼

The API serializes Decimal as strings with scale, such as 1000.0000, never 1000. Parse the string to f64 and compare with a tolerance, or use starts_with for coarse checks, instead of assert_eq on the raw string.

How should tests assert that a route does not exist?▼

Mount the real static fallback with TestConfig web_static_root, which uses the same spa::mount_static_spa function as main.rs. A hand-built router without ServeDir proves a 404 the shipped image never returns, since ServeDir only falls back for GET/HEAD.

When should I not use this validation skill?▼

Do not use it for getting the app running or a dev environment, measuring live behavior with curl, deciding whether a change is allowed at all, or the FIRE math itself — those belong to the sibling build, diagnostics, change-control, and domain-reference skills.