A newer proposal in the same conversation replaces an unstarted card; the
next user message no longer expires it, so one unstarted card exists per
conversation (projection state version 7, phase replaced).
queuedMessageLimit (default 2) refuses a card while the user has that many
messages queued for later turns.
The card shows supplied initialContent as folded data below the plan.
The personalized-pages skill is rewritten around the chosen scenarios with
a shorter catalog entry that loads before any file reading. Paired sampling,
five runs per input on the same build: 63/90 to 81/90 cards on the
regression set with zero false cards; the log-tab inputs went from one to
four of five to five of five with two tool calls each.
Regenerated the config, cordis and plugin package catalogs, re-recorded
README pairing, and refreshed the Web replay golden.