# Arcane University — independent edition

An acquisition workbench rebuilt from the owner's visible Base44 app. No Base44
SDK, subscription, API key, or paid AI service is required.

## Run

Unzip this folder, run `python3 -m http.server 8080` inside it, then open
http://localhost:8080. Use HTTP rather than opening index.html directly because
JavaScript modules require it. Any static host can also serve these files.
For a domain-ready release, follow [TRANSFER.md](./TRANSFER.md). Run
`ARCANE_SITE_URL=https://your-owned-domain.example/ node build.mjs` and upload
the resulting `dist/` folder. Replace the example with your real destination.
The generated release has destination-specific search metadata and no dependency
on the old host for scripts, styles, or instructions. The Workshop backlink is
optional attribution, not a runtime dependency.

## Included

- Original rulebook benchmarks and red-flag themes, labeled as owner policy.
- Calculator with amortizing acquisition and seller debt, replacement salary,
  capex reserves, and initial working capital / closing costs.
- Saved-listing Scout with numeric, location and category filters.
- Five-stage deal pipeline with editable records and notes.
- The original 19-item diligence checklist, now persisted per deal.
- Rules-based advisor with numerical observations and diligence questions.
- Downloadable listing digest, deal review, and full backup.
- JSON import, including Base44 PipelineDeal arrays (`asking_price`, `sde`,
  `stage`, `notes`, `source_url`). Imports merge by ID and validate before changes.

## Deliberate differences from Base44

This edition does not invoke paid AI, scrape marketplaces, connect to Gmail, or
send scheduled email. The original UI advertised a scanner and email schedule;
those integrations could not be verified. Here you import or enter listings and
download a real digest from those records. The advisor is explicitly rules-based,
not a substitute for the original generative AI endpoint. A future AI or listing
provider would require separate implementation, access, and possibly fees.

No source transfer or subscription cancellation was performed on Base44. Its
original app remains intact. The original pipeline was empty when inspected;
private records are never bundled into this public download.

## Data ownership

Data is local by default. On the hosted edition, **Your data → Optional private
cloud save** can store an explicitly uploaded copy for your signed-in account.
On another device, sign into the same account, refresh the cloud copy, and preview
a restore. This is manual save/load, not automatic background sync or team sharing.
Cloud storage retains the previous cloud copy and rejects stale revisions instead
of overwriting newer work. Export backups regularly, especially before domain moves.
Private browsing or blocked storage may keep changes in memory only; the app
shows a message if a write fails. An unreadable saved workspace is protected from
automatic overwrites; download its original bytes from Your data for recovery.

Imports first show a preview. **Merge deals** retains current filters/activity
and deals absent from the file. **Restore full backup** restores records, filters,
and activity, replacing the current workspace only after explicit confirmation.
Both modes show additions, matching-ID updates, and removals. A pre-import copy
is saved locally before replacement and can be downloaded from Your data. This
is a single recovery slot, not a substitute for external backups. Import stops
if another tab has modified the workspace or storage fails.

The Connections page distinguishes working local tools from unimplemented live
services. No provider keys belong in browser code. Static-only deployments retain
local functionality; optional cloud storage requires the backend in [CLOUD.md](./CLOUD.md).

## Calculations

Debt service is the sum of the two loans' monthly amortizing payments × 12.
Modeled available cash = SDE − replacement compensation − annual capex reserve.
Coverage = available cash / debt service. Cash-on-cash = (available cash − debt
service) / (down payment + closing costs + working capital). No-debt coverage
and zero-investment returns are displayed as not applicable rather than infinity.
The calculator does not determine SBA eligibility, loan approval, taxes, seller
standby treatment, or business value. Example rates are editable assumptions.

Run calculation, input-validation, and domain-build tests with `npm test`.

Free to use and modify under the included MIT license. No runtime build required;
the optional release build prepares metadata for your exact destination URL.
