# Corey independent workflow demonstrations

Six cases use the same inspectable browser/Node business rules. These are demonstration inputs and measured test runs, not six client projects.

## Run the website

Python 3 and Node.js are sufficient; no framework install or secret is required.

1. From the source root: `node scripts/verify.mjs`.
2. Start `python3 -m http.server 8769 --directory dist`.
3. Open `http://localhost:8769`.

The source export includes prebuilt static files. `python3 scripts/build_site.py` regenerates HTML from content.json and existing evidence assets. Rules live in dist/assets/engine.mjs, UI in app.mjs. Source templates may be edited without touching business rules.

## n8n

Import `intake-crm.n8n.json` into a NEW workflow using file import, or paste its full JSON onto an empty canvas. Run the manual trigger. The acceptance node should return status `verified` and eight passing checks. No credentials are required. Destination failures are explicit fixtures. Storage is an in-execution object; cross-run persistence needs a real record store and atomic uniqueness in a production project. Never interpret this manual run as a production availability measurement. No scheduled trigger is included.

## Make and actual AI

Import `quotation-extraction.make.json` into a NEW scenario. Connection references have been removed from the shareable export. Select your own existing DeepSeek AI connection in the module; confirm the current model is available in your account. The example uses deepseek-flash, JSON response format and a bounded 3000-token output. Model/API fees belong to your own account. Keep scheduling inactive. Run once with the self-created text quotations. Inspect the returned JSON and exact evidence lines.

The retained output under data/model-extractions.json was produced by a real Make/DeepSeek run. The website replays this output; it does not call the model from your browser. Live browser rules validate source support, missing values and arithmetic. Document 1 can be approved in the demo. Document 2 has no currency and must wait for source clarification. Document 3 has a stated total of 600 but calculated goods plus shipping of 516; do not silently overwrite the source total. Only self-created text inputs were tested. PDF layout, scans, OCR, tax classification, file deduplication and document revision workflows remain outside this case.

## Product matching

The synthetic feed contains eight rows. Match only input identifiers, never the fixture answer-key product_id. Brand and SKU casing/whitespace are normalized, suffixes remain significant. Exact variant, model family, unknown identifier, duplicate and conflicting total output have distinct states. The public manufacturer reference contains two exact retail variants and four family records. Plug standards remain unknown unless explicitly evidenced.

Apply the proposed records to the in-memory demo catalog twice: the second application should insert zero records. This is a dry-run import, not a Shopify or retailer write. The engine is deliberately scoped to the demonstrated identifier and power/configuration rules; production matching needs destination-specific uniqueness, conflict handling and reviewed reference records.

## Monitoring

Six actual observations cover three HTTP reads per exact SKU in one session. Prices were unchanged. Retain source timestamps and caching limitations. A failed collection has unknown availability. The synthetic change replay is a separate history.

To fetch another observation, download public-products.json and observe-public-offers.py into one directory, then run `python3 observe-public-offers.py public-products.json`. The script uses only Python's standard library and writes evidence excerpts beside the dataset. It makes two real HTTP requests, with no schedule. Source responses and parsing may change; errors are retained as failures rather than stock changes.

## CRM and sourcing

CRM records are browser-local demo objects, not Pipedrive or WhatsApp. Contact identity, request identity and delivery event identity stay distinct. No external replies are sent. The browser stores only synthetic data and can be reset.

Sourcing quotes and supplier identities are fictional. Compare matching configurations, quantities, currency and incoterms; MOQ, expiry, unknown shipping and different pack bases trigger review. Comparable quoted terms do not establish product quality or supplier capability. Landed totals stay unknown while additional duties, tax, insurance or transport are unconfirmed.

## Handover boundary

No existing production workflow was modified. No ongoing schedule was activated. Production connectors, persistent stores, permissions, alert destinations, OCR, operating volume, maintenance and paid service costs must be scoped for the buyer's own pilot.
