Skip to content

Moment discovery — evidence and limits ​

This is the technical companion to Finding moments by shot and by story. The review asks three residual product choices. It does not authorize schema, prompt, automation or data changes.

History recovered ​

SourceWhat it establishes
docs/specs/PRODUCT/TAXONOMY/MOMENTS-TAXONOMY-V1-BETA.md, section 10July ratification places Dialogue and Establishing under Shot Types. Sections 1–9 are explicitly historical; their earlier “not a shelf” wording cannot override section 10.
docs/reference/2026-08/2026-08-04/atlas-walk-round2-packet.md, Q9 + Q12The recommendation keeps groups derived, gives each shelf one group and separates visibility from classification.
docs/reference/2026-07/2026-07-26/atlas-review-responses.md, round 2, Q9 + Q12The August reply accepts that recommendation and explicitly values both production shots and narrative/design discovery.
docs/reference/2026-08/2026-08-10/schema-presentation-feedback.mdRequests clearer presentation of groups, shelves and descriptions; does not expressly approve removal of Shot Types or the listed merges.
Current Decided, Moments and proposed classification pagesThe first two preserve one group per shelf and shot usefulness. The proposal removes Shot Types while retaining its shelves without a destination. Exact default presentation remains open.

The trace above found no explicit later approval of that group removal. This is a bounded history recovery, not an assertion that every conversation has been searched. The review separates group membership, visibility and descriptor meanings instead of bundling them into one approval.

Live system checks on 4 October ​

The schema was inspected before the selected registry query. The raw queries and returned results are saved in docs/reference/2026-10/2026-10-04/moment-discovery-review-evidence.json.

  • content_segment_categories has category and primary-membership fields plus provenance and evidence fields.
  • content_segment_classifications.shot_type is text. A text column alone does not prove application cardinality; the local prompt below supplies the one-choice instruction.
  • Active schema_enums entries for Dialogue and Establishing have parent_value=shot_types and category=catalog.
  • The selected active shot_type entries are the twelve words reproduced on the review page. Their selected description, inclusion and exclusion fields are null. This does not prove that no definitions exist elsewhere.

No classifications were changed. No counts from historical snapshots are presented as current totals.

Local pipeline and reader trace ​

backend/routers/pipeline_scene_classify.py contains the twelve-choice prompt instruction, scalar resolution and category-junction writer. The category writer replaces analyzer rows and inserts primary and secondary memberships. It catches write errors with a warning. That error path requires deeper integrity testing; no failure was induced and no repair was attempted here.

frontend/src/lib/lab-moments-server.ts reads registry group/category rows, resolves group membership and tiers, and returns moment categories alongside scalar shot descriptions. Its current local implementation prefers human rows per segment within each table. This is code inspection, not a claim that corrections survive every production write.

frontend/src/app/api/lab/craft-moments/route.ts calls those taxonomy and moment readers. frontend/src/components/library/walls/MomentsWall.tsx groups by the primary shelf when its tier is shelf; remaining entries enter an “Unshelved” section. Its comments and older browse contract are therefore insufficient evidence of the actual rendered experience. The component also opens the parent through its callback; verifying interval playback requires the complete caller/viewer path.

These observations establish affected consumers and potential gaps. They do not prove runtime reachability, deployed file equivalence, complete pagination, correction safety or end-to-end query equivalence. Those remain audit obligations, not extra meaning questions for Joe.

Outside check and examples ​

Adobe's shot guide distinguishes camera distance and angle from establishing and reaction uses. It supports questioning a single mixed choice list. It does not prescribe a database schema.

The review examples are inspected taxonomy records and the actual local prompt instruction. They are not endorsements of existing clip labels. Apple Card playback was sampled during preparation, but a complete audiovisual review was not established; it is excluded as an approval example. The close-up/reaction/interview combination is explicitly hypothetical.

Alternatives pressure-tested ​

Retaining the current group is the least disruptive coherent option because its shelves already have a documented home. Removing only the group leaves a missing relationship; removing both group and shelves is a larger, reviewable alternative. For discoverability, a visible entrance need not flood the initial grid. For descriptions, separating questions permits combinations; a renamed mixed multi-choice list is viable only with definitions and validation. Neither choice justifies automatic merges based on matching words.

Remaining implementation work ​

After decisions: inspect every affected writer, composed prompt, validator, registry consumer, saved query and tracker rule; verify constraints, indexes, permissions, correction precedence, migration compatibility and rollback. Test parent/interval navigation and query equivalence. Reanalysis and scheduling remain controlled by their existing activation gates. No new automation is enabled by this review.

Bounded preparation on 4 October 2026; comprehensive verification remains open.

Recovered naming rule ​

On 5 October, the original July reply and its review card were reread. The reply in docs/reference/2026-07/2026-07-21/theratificationcnooslejuly21.md, lines 46–48, marks b3-both-axes Approve. The corresponding card in ratification-console.html, lines 272–280, distinguishes a piece's type from a studio's specialization and explicitly offers a blanket ban on overlapping names as an alternative. The current decision record already carries that principle under the craft review recovery.

This supports withdrawing the later blanket unique-word question. It does not establish that Reveal, Demo or Transformation have useful distinct meanings in every proposed list. Those definitions remain open. The adjacent announcement-overlap reply was Adjust, not approval. The October Commercial wording also remains open in the video and promotion review.

The original source files and exact extracts were checked against shared-word-prior-approval-lead.json; both July file hashes and extracts matched. The older proposal extract still matched, but its file hash had changed after intervening edits. The receipt preserves the earlier hash and records this reconciliation separately. No historical reply was rewritten, no new approval was inferred and no database or runtime check was needed for this naming-policy correction. The schema and consumer checks above remain dated evidence with their stated limits.

Downstream, classification must preserve which question a label answers. Prompts, validation, filters and saved queries must not equate labels merely because their names match. Exact storage, pair-specific conversions and compatibility remain implementation verification work.

The BrandTrackers domain model. Source: git markdown, drift-checked against the live DB.