https-deeplearning-ai / https-deeplearning-ai/spec-build-lab

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

Ouverte
#29 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
3
Forks
3
Merge moyen
20 h 23 min
PR mergées (30 j)
6

Description

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par l'étape 3 de .claude/skills/generate-spec/SKILL.md et §4 Pass B du guide, puis examinez les diapositives de cours référencées et les globs de contenu existants. Ajoutez les diapositives comme source facultative et documentez le poids de leurs éléments probants par rapport aux transcriptions et au code livré. C'est terminé lorsque les deux moitiés sont livrées ensemble, que les contradictions sont consignées plutôt que résolues silencieusement et que le chemin no-flag est régénéré séparément.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
documentation, tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
58/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.