← PROTOTYPES
SCINTILLA · ALLOCATION — LAYER THREE IN THE OPEN
23 SEP 2026 · LANE M22

You said layer three was jumping the gun, and that the other tool had a process of filtering between the options. Layer three is now that process: a funnel you watch, one step at a time, where every name that leaves is named and given the reason it left.

1 · WHAT THE OTHER TOOL'S FILTERING ACTUALLY DID

I read both of them before touching anything: the older allocation module at allocation.scintillahub.ai (its source is _ALLOC_DEPLOY on this Mac) and the sector rotation tool (SECTOR_ROTATION.html, which publishes the table sector_rankings).

The allocation module's filtering ran like this, and its own notes record each stage:

STAGEWHAT IT DID
UniverseEvery membership row — cohort, industry, size, sector — plus your favourites. Its own measured note: 387 tickers in, 265 of them candidates, 182 of those able to be ranked.
CandidatesA name qualified by sitting in one of the pick cohorts (growth, AI hardware, AI software, crypto, megacap, blue chip, thematic, international) or by being a favourite.
Geiger coverNames with no Geiger were dropped. The tool's own audit flags this as the weak point: “83 of the 265 candidates have no geiger… they are invisible rather than flagged.”
Style re-rankGeiger plus half the average style spread, so a cold QQQ literally pushes growth names up the list.
Sleeve competitionThe coldest three in each sleeve were tagged ADD, the hottest TRIM.
Your handDrop greyed a row and pulled it out of the statistics without deleting it; pick marked a keeper, capped by your total-names limit. The desk page says it plainly: “this is a ranked shortlist, you still choose”.
ComparablesPeers by industry, with outliers removed by the standard 1.5×IQR fences — and the number removed was printed, not hidden.

The sector rotation tool is a different animal: it computes RS-Ratio and RS-Momentum on weekly bars and puts each sector in Leading, Improving, Weakening or Lagging. It publishes a rank per sector, which is the thing worth borrowing.

WHAT I TOOK FROM IT, AND WHAT I LEFT Taken: counts at every stage, a reason attached to every removal, names kept visible after they are removed, a cap the page admits to out loud, and the stance that the page hands you a shortlist rather than a verdict. Left for later: the drop and pick buttons that remember your choices, and the comparables sheet. Those are interactions with saved state, and I would rather build them once, properly, than bolt them on tonight.

2 · THE PAGE NOW READS AS THE DECISION

Top to bottom: how much to own, where it goes, which names, why not the others, and then the picks. Layers one and two each carry a strip saying what it read and what it produced, so there is no step where a number appears without a source.

The top of the allocation page at 1680 wide
The top, at 1680. The conclusion in words, then the four bullets underneath it — the last one now says how many names the funnel removed and at which step.
Layer two with the rotation column
Layer two. The ROTATION column is new: it is the rank the sector rotation tool published, read as it stands and never recomputed here. The sentence above the table says what that leg changed — and when it changes only the order, it says exactly that rather than claiming it changed the choice.

3 · THE FUNNEL

Every name the Geiger covers inside the chosen sectors enters at the top. Then, one step at a time:

STEPITS LINERECOMMENDEDWHAT IT READS
The Geigerat or above the middle of its own sectorthe sector middlethe published Geiger composite, chart API /geiger
The balance sheetdebt no more than 2.0× equity2.0×ratios_history, last full year, with the book date shown
Earnings too closenothing reporting inside 7 days7 daysearnings_events, from today forward
Liquidityat least $25m traded a day$25mthe median of twenty sessions of dollars traded, from /candles
Trendclosing above its own 50-day averageonthe same daily bars
Distance from a levelno more than 12% above that average12%the same daily bars

Each step shows how many went in, how many came out, a bar that narrows as the funnel narrows, its line as a slider you can move with the recommended value printed beside it, and then every name that left, with the number that removed it.

The funnel at 1680 wide, all six steps
The funnel at 1680, read live at 3:40pm New York on 23 September — these counts move with the market. At that moment: 130 names in the four chosen sectors, 66 past the Geiger, 61 past the balance sheet, 61 past earnings, 60 past liquidity, 58 past trend, 39 past distance — then the best three in each sector are held. The drop lists scroll, and say how many are in them.

It ends with the picks, each with the one line that earned it, and before them the names that did not make it — both the ones a step removed and the ones that cleared everything but ranked below your cut.

The picks with one-line reasons
The picks. One line each: its reading against the sector middle, its multiple against the sector's, its debt, what it trades a day, how far it sits from its 50-day average, and when it next reports.
Why not the others
Why not the others. First the near misses — “cleared every step, then ranked #4 of 6, behind MPC” — then everyone a step removed, each tagged with the step that did it.

4 · ON A PHONE

The funnel at 390 wide
The funnel at 390. The counts move under the step name, the sliders run the full width, and the reasons wrap. Nothing runs off the right edge.
The picks at 390 wide
The picks at 390, with the weight under the ticker.

5 · WHERE EVERY NUMBER COMES FROM

NUMBERSOURCE
The reading on any namechart API /geiger — the published composite across your eight saved timeframes. Nothing is recomputed here.
Which sector a name is incompany_profile on scintilla-live
Multiplesfundamentals, with the age of the row shown
Debt against equityratios_history, last full year, book date printed next to the name
When a name reportsearnings_events, and whether the date is confirmed
Sector against the marketchart API /candles, the eleven sector funds against SPY
The rotation ranksector_rankings, published by the sector rotation tool, with its date on screen
Dollars traded, the 50-day averagechart API /candles, 120 daily bars per name
The live pricechart API /quotes, asked for after the page has drawn

6 · WHAT COULD BE WRONG

7 · WHAT I DID NOT DO