Skip to content

Tooling: /generate-spec never reads materials/slides/, which the guide names as a design-argued detection source #29

Description

@Carr1005

Found twice independently on 2026-09-13/14, on the Qdrant Edge course.

.claude/skills/generate-spec/SKILL.md step 3 reads:

Read every material. Glob materials/notebooks/**/* and materials/transcripts/**/*, then read each non-empty file.

But the base guide's §5.5 design-argued route names a third source:

design-argued (course-argued) — the transcripts/slides explicitly present an alternative and argue a trade-off

So the guide expects slides to be mined, and the skill never opens them. Because both globbed directories are non-empty, the skill's "No materials found" refusal never fires — the omission is silent.

Why it matters here

courses/building-on-device-ai-memory-with-qdrant-edge/materials/slides/sc-Qdrant-C3-slide-descriptions.md (440 lines) carries content in neither the notebooks nor the transcripts. Folding it in by hand produced two changes to the spec that nothing else would have caught:

  1. A business rule that was untestable without it. A slide states the payload filter is part of the query, not a post-processing step. The rule as originally written ("returns only points satisfying every condition") is satisfied by post-filtering too, and on a 21-point fixture corpus both implementations return identical ids. A discriminating criterion had to be added: filter a food question to an unrelated category and assert the lone member of that category comes back — a point no unfiltered top-3 would contain.

  2. A genuine contradiction between materials. A Lesson 4 slide describes all modalities "merged into one inbox ranked by score". It appears in no video, and the shipped code renders three separate lanes and names the blended list as the thing not to do. Without the slides, the conflict is invisible; with them, it resolves as shipped-code-wins and gets recorded rather than silently decided.

The decks also carry a third lesson numbering from an abandoned six-lesson plan, off by one from the videos — exactly the §12.1 lesson-numbering trap, undetectable without reading them.

Implication

Any course shipping slides generates a spec missing whatever the slides uniquely argue, with no warning. The two sources also have different evidential weight — 8 of this course's slides appear in a lesson video, 15 exist only in the decks — which the guide has no vocabulary for.

Proposed fix — not applied

Deliberately deferred: widening the glob changes the no-flag path, which the --env work was committed on the explicit promise of leaving untouched. It should land on its own, with its own regeneration.

Two halves, and they should ship together:

  1. SKILL.md step 3 — glob materials/slides/**/* as a third, optional source (absent in most courses; no refusal when missing).
  2. Guide §4 Pass B — say how slide evidence is weighted against narration and shipped code. Suggested: a slide that appears in a lesson video ranks with the transcripts; a slide that exists only in a deck is weaker than either, and where it conflicts with shipped code or narration, it loses and the conflict is recorded in CTX-C rather than resolved silently.

Half 1 without half 2 makes slides silently outrank the transcripts on a contradiction.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions