Skip to content

docs: define candidate set contract - #2

Merged
Vincent-1512 merged 1 commit into
mainfrom
docs/candidate-set-contract
Nov 8, 2026
Merged

Vincent-1512 merged 1 commit into
mainfrom
docs/candidate-set-contract

Conversation

@Vincent-1512

Copy link
Copy Markdown
Owner

Problem

Product docs capped the UI at two edits and the API at three total candidates, without a multi-source selector or position-bias handling.

Changes

  • Specify original plus 0-5 styles (K defaults to 4; configurable 4 or 5), guardrails, deduplication, and preview max-min diversity.
  • Add learned as a planned source only; it is not implemented.
  • Extend OpenAPI with learned, optional style_id/style_label, up to six candidates, and optional shown_order.
  • Store shown_order in SQLite and update API design, README, architecture, and team docs.
  • Keep the VLM output cap at two; do not change src, VLM prompt/schema, or DOCX files.

Verification

  • PyYAML parsed OpenAPI 3.0.3: 6 paths.
  • Validated 12 response/component examples against schemas.
  • Applied SQLite schema in-memory; checked learned/style fields, shown_order ordering, and cascade deletion.
  • git diff --check clean.

Limits

  • Selector and backend/app are not implemented.
  • Delta E 2000 threshold 3.0 and label thresholds are unvalidated starting points.
  • learned has no data, model, or training; K=2 for silhouette/memorial is a proposal.
  • keep_original.recommended remains for compatibility; UI must not use it to rank styles.

Team decisions

  1. Confirm Delta E threshold and thumbnail normalization.
  2. Confirm style_id taxonomy and label thresholds.
  3. Approve K=2 cap and goal guardrails for silhouette/memorial.
  4. Decide when to remove keep_original.recommended.
  5. Define behavior if preview distance cannot be computed.

@Vincent-1512
Vincent-1512 merged commit 895396f into main Nov 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants