Mixed freshness. Depending on the panel, rows here are read live from elisa-core or come from a frozen copy of ELISA’s local store taken on 22 October 2026 — each panel says which, underneath itself. No agent is running.

ELISASales
Connecting

Deals & Stages

Stage movement, the scoring floor, stalled-deal detection and what has gone quiet.

Run by Agent 3 — Pipeline & Reporting

Pipeline — stage, citation, next action

Rows, not a picture. A stage with no cited evidence cannot exist.

Uncited stage changes in the whole table: 0. Measured, not asserted — and structurally always zero, because the column it counts nulls in is NOT NULL. A non-zero number here would mean the schema had been weakened.

Open pipeline value: nothing recorded — 3 open entries carry no value_minor at all, so this is a real query over real nulls rather than a guessed total

The four refusals a stage move has to get past
  • Python — move_stage() takes evidence_id as a required keyword; calling it without one is a TypeError before any SQL runs.
  • NOT NULL — funnel_stage_changes.evidence_id refuses a null citation.
  • FOREIGN KEY — the cited id has to resolve to a real evidence row, which carries its own ref, claim and confidence.
  • TRIGGER — trg_funnel_stage_needs_citation aborts an UPDATE of funnel_entries.stage_id unless a cited change row for this entry, ending at this stage, already exists. The citation is the precondition of the move, not a record of it.

The stage catalogue, in order

1New0 entriesaccepts: instruction, signal
2Contacted1 entryaccepts: instruction
3Replied0 entriesaccepts: reply
4Follow-up1 entryaccepts: reply, instruction
5Replied back0 entriesaccepts: reply, meeting
6Proposal sent1 entryaccepts: instruction, meeting
7Won0 entrieshuman-only — an agent escalates a move into it, never writes itaccepts: invoice, payment, contract
8Lost0 entriesterminalaccepts: reply, instruction
Contacted[DEMO] Funnel fixture B - cold outreach, no reply yetopenDEMONSTRATION

Next: Second follow-up is due; nothing to report until a reply exists.

never moved — still in the stage it was created in

Entryfe_d3b9b6a2d115
Owner agentsales.agent_2
Valuenot recorded
Duenot recorded
Counterparty[DEMO] Demonstration counterparty
CRM leadnot recorded

No value recorded on this entry. value_minor is null, so nothing is shown — inventing a deal size would be inventing a number, and a zero here would read as a measured one.

No stage move to cite

This entry has never been moved — it still sits in the stage it was created in, so there is no move for evidence to justify. It does not mean a move happened without a reason: that is refused four independent ways.

Demonstration fixture. Seeded by elisa_content_seed.py so this screen renders a state the real chain does not reach. Not real client work, and nothing here was sent, published or promised to anyone.

Follow-up[DEMO] Funnel fixture A - inbound replyopenDEMONSTRATION

Next: Follow up once; then let it go dormant.

cited reply · ev_af4bf904fe96

Entryfe_531026fdbbe0
Owner agentsales.agent_4
Valuenot recorded
Duenot recorded
Counterparty[DEMO] Demonstration counterparty
CRM leadnot recorded

No value recorded on this entry. value_minor is null, so nothing is shown — inventing a deal size would be inventing a number, and a zero here would read as a measured one.

Cited evidence for this stagereplymoved by sales.agent_3DEMONSTRATION
Evidence rowev_af4bf904fe96
Evidence kindrecord
Confidencehigh
Moved fromsales.replied
Moved tosales.follow_up
At2026-10-20T13:59:49.000Z
What it points atC:\elisa\home\scripts\elisa_content_seed.py

The claim on record: [DEMO] Demonstration citation. This evidence row stands in for the reply that would justify a stage move; it points at the seeding script that created it, which is a file that really exists.

[DEMO] cited stage move fixture

Demonstration fixture. Seeded by elisa_content_seed.py so this screen renders a state the real chain does not reach. Not real client work, and nothing here was sent, published or promised to anyone.

Proposal sent[DEMO] Funnel fixture C - proposal outopenDEMONSTRATION

Next: Wait on a decision. No stage move without a cited reply or contract.

never moved — still in the stage it was created in

Entryfe_dc166814fcdc
Owner agentsales.agent_5
Valuenot recorded
Duenot recorded
Counterparty[DEMO] Demonstration counterparty
CRM leadnot recorded

No value recorded on this entry. value_minor is null, so nothing is shown — inventing a deal size would be inventing a number, and a zero here would read as a measured one.

No stage move to cite

This entry has never been moved — it still sits in the stage it was created in, so there is no move for evidence to justify. It does not mean a move happened without a reason: that is refused four independent ways.

Demonstration fixture. Seeded by elisa_content_seed.py so this screen renders a state the real chain does not reach. Not real client work, and nothing here was sent, published or promised to anyone.

3 rows · elisa.db: funnel_entries ⋈ funnel_stages ⋈ counterparties · read 2026-10-25T19:15:56.823Z

1 row · elisa.db: funnel_stage_changes ⋈ evidence · read 2026-10-25T19:15:56.823Z