PASS Fresh installation creates schema/admin/guards with no sample finances
PASS Fresh install has no invented financial records
PASS Administrator can sign in
PASS Administrator creates director account
PASS Administrator creates employee account
PASS Administrator creates employee account
PASS CSRF validation rejects missing token
PASS Employee submits expense with private receipt
PASS Submitted employee expense is pending
PASS Pending expense has no ledger effect
PASS Employee cannot approve an expense
PASS Employee cannot submit director funding
PASS Employee cannot access another employee private record
PASS Private receipt denies another employee
PASS Submitter can access own private receipt
PASS Unauthenticated receipt access denied
PASS Executable upload rejected using actual MIME
PASS Contribution requires transfer proof
PASS Director submits contribution and transfer proof
PASS Standard director has no approval authority
PASS Administrator receives new-submission notifications
PASS Administrator approves another director contribution
PASS Approval posts exact amount to ledger
PASS Second approval cannot duplicate a ledger posting
PASS Rejection requires a reason
PASS Administrator rejects with recorded reason
PASS Rejected and pending entries excluded from balance
PASS Administrator can submit own expense
PASS Administrator cannot approve own submission
PASS Independent reviewer permission is explicitly delegated and audited
PASS Delegated independent reviewer approves admin expense
PASS Delegated reviewer still cannot approve own transaction
PASS Approved expense subtracts from calculated funds
PASS Approved records cannot be edited through API
PASS Database trigger prevents direct approved financial mutation
PASS Linked reversal submission created
PASS Independent reviewer approves reversal
PASS Reversal restores funds while preserving original
PASS Original approved record retained after reversal
PASS Duplicate active reversal is blocked
PASS Additional employee submission created
PASS Return for correction requires and records a reason
PASS Owner edits and resubmits returned expense
PASS Corrected expense can be approved
PASS Foreign currency contribution accepted
PASS Foreign currency contribution approved
PASS Multi-currency totals remain separate and exact
PASS Unauthorized financial/admin URLs denied
PASS Employee CSV export obeys record visibility
PASS Report filters apply type/currency/status correctly
PASS Real paginated PDF export produced
PASS Transaction output escapes XSS content
PASS Olive block management works
PASS Olive planting stored in database
PASS Verified count reconciliation recorded
PASS Plant count correction preserves original planting history
PASS Poultry batch created
PASS Poultry cannot become negative
PASS Egg production recorded without changing birds
PASS Authorized salary history write works
PASS Salary change appends effective-dated history
PASS Previous salary terms preserved
PASS Administrator screen renders: dashboard
PASS Administrator screen renders: transactions
PASS Administrator screen renders: contributions
PASS Administrator screen renders: expenses
PASS Administrator screen renders: approvals
PASS Administrator screen renders: ledger
PASS Administrator screen renders: employees
PASS Administrator screen renders: olives
PASS Administrator screen renders: poultry
PASS Administrator screen renders: buildings
PASS Administrator screen renders: kitchen
PASS Administrator screen renders: reports
PASS Administrator screen renders: income
PASS Administrator screen renders: notifications
PASS Administrator screen renders: audit
PASS Administrator screen renders: settings
PASS Administrator screen renders: profile
PASS Operational export: activities
PASS Operational export: poultry
PASS Operational export: plants
PASS Operational export: employees
PASS Operational export: buildings
PASS Employee cannot export private staff data
PASS Building registration persists purpose/condition
PASS Building condition and status can be updated
PASS Maintenance links employee, materials, building and expense
PASS Monthly budget allocation is stored separately
PASS Asset and budget records do not automatically spend funds
PASS Actual farm income source/buyer/quantity submitted
PASS Income requires independent approval
PASS Approved income increases funds separately from contributions
PASS Monthly kitchen expense uses normal approval workflow
PASS Kitchen expense rejection remains outside ledger
PASS Salary payment claim supports period and approval
PASS Independent reviewer without salary grant cannot access private salary detail
PASS Approval list and exports also hide unauthorized salary records
PASS Delegated reviewer authority can be revoked
PASS Revoked approval authority is enforced on next request
PASS Ledger deletion blocked by database guard
PASS Approval modification blocked by database guard
PASS Financial deletion blocked by database guard
PASS Amounts with excessive precision rejected
PASS Negative input amount rejected
PASS Invalid calendar date rejected
PASS Unconfigured currency rejected
PASS Draft remains unposted until submission
PASS Draft cannot be approved without submission
PASS Owner submits eligible draft with material edit reason
PASS Material edit requires a reason
PASS CSV export neutralizes spreadsheet formulas
PASS Budget/asset/income reports render with actual data
PASS Operational PDF contains a real PDF document
PASS Numeric pagination endpoint works
PASS Valid one-use reset token changes password
PASS Reset token cannot be reused
PASS Password reset revokes old authenticated session
PASS Unauthenticated screen redirects to login
PASS Administrator deactivates employee
PASS Deactivation revokes existing session access
PASS Deactivated employee cannot log in
PASS Deactivation retains historical records
PASS Submitter receives approval notifications
COMPLETE: 124 integration assertions passed
