Skip to content

Add the Qdrant Edge course and its AI-Coding-Lab spec - #27

Open
Carr1005 wants to merge 1 commit into
mainfrom
course/building-on-device-ai-memory-with-qdrant-edge
Open

Add the Qdrant Edge course and its AI-Coding-Lab spec#27
Carr1005 wants to merge 1 commit into
mainfrom
course/building-on-device-ai-memory-with-qdrant-edge

Conversation

@Carr1005

Copy link
Copy Markdown
Collaborator

New course — Building On-Device AI Memory with Qdrant Edge (5 lessons, Dylan Couzon) — plus the spec generated from it, filed as the AI-Coding-Lab variant.

What's here

Path
materials/notebooks/…-notebook-context.md L3–L5 notebooks, helper.py, requirements.txt, ro_shared_data/
materials/transcripts/…-transcripts.md the five lesson transcripts
materials/slides/…-slide-descriptions.md 8 slides shown on screen, 15 drafted but never shown
materials/environment.md the AI Coding Lab runtime this build targets
spec.coding-agent-lab.md 772 lines, generated by guide 8e44ecb

Why the variant filename and not spec.md

The spec is generated against a known environment, so it is the spec.coding-agent-lab.md kind, not the environment-agnostic takeaway. Two consequences:

  • The Decision Ledger has four rows, not ten. Five of the six learner-context dimensions are fixed by the lab — project and goal are §1, data is the §5 fixture corpus, the runtime is the container, and the course uses no LLM at all, so there is no model/provider to choose. §1 keeps an Adapting this beyond the lab note saying where each dropped dimension lives. What remains are course decisions: on-device vs cloud sync (D2, Lesson 1 argues both sides), one store vs a store per purpose (D3, the course does both), similarity vs similarity+freshness (D4), and the scope-boundary row that presents §1 at the gate.
  • Environment facts are labelled [environment] throughout and given their own CTX-E provenance row, so the course is never credited with port-4000 rules, the container's provider keys, or the choices-fence question mechanism.

What the slides changed

They were mined after the first draft, and earned two changes the notebooks and transcripts could not:

  • R7 + AC7b — pre-filtering. A drafted slide states the filter is part of the query, not a post-processing step. The original R7 ("returns only points satisfying every condition") was satisfied by post-filtering too, and AC7 couldn't tell them apart on a 21-point corpus. AC7b discriminates: a category == "garden" filter on the question "somewhere to eat" must still return the lone garden note — a point no unfiltered top-3 would contain.
  • R5 — the display the course dropped. 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 lanes and names the blended list as the thing not to do. Shipped code and narration beat a cut slide, so it stays a business rule rather than becoming a Ledger row — a "merged or lanes?" menu would invite picking the side the course removed.

Also from the decks: the Frozen and Growing framing (now the opening of CTX-A), the on-disk shape of a store (which is why R12's flush is an explicit act), retrieval as approximate NN over a navigable graph, and a third, abandoned lesson numbering — noted in CTX-E so it is never cited.

Known gaps

  • No canonical spec.md, so /prepare-build refuses on this course (its step 1 requires the file, steps 3–4 copy it). Options: twin copy, generate the environment-agnostic canonical spec so the pair mirrors agent-memory, or teach the skill a filename argument. Not resolved here.
  • /generate-spec cannot see two of these four materials. Step 3 globs only materials/notebooks/**/* and materials/transcripts/**/*, so materials/environment.md and materials/slides/ are invisible to it — and because both globbed directories are non-empty, the refusal never fires and a regeneration would silently drop them. In this run both reached the spec by hand. Worth a SKILL.md change (optional third/fourth read, with a distinct provenance label for target-environment material) and, behind it, a guide question: §3 gates on exactly two inputs and §9 defines three provenance labels.

🤖 Generated with Claude Code

New course: Building On-Device AI Memory with Qdrant Edge (5 lessons,
Dylan Couzon). Materials are the notebook dump (L3-L5 + helper.py +
requirements.txt + ro_shared_data), the five transcripts, the slide
descriptions, and environment.md — the AI Coding Lab runtime the build
targets.

The spec is filed as the variant, spec.coding-agent-lab.md, because it is
generated against that environment rather than for an unknown one. Two
consequences:

- The Decision Ledger carries four rows, not ten. Five of the six
  learner-context dimensions are fixed by the lab (project and goal are
  §1, data is the §5 fixture corpus, the runtime is the container, and
  the course uses no LLM at all, so there is no provider to pick). What
  remains is course decisions: on-device vs cloud sync, one store vs a
  store per purpose, similarity vs similarity+freshness, plus the
  scope-boundary row that presents §1 at the gate.
- Environment facts are labelled [environment] throughout and given
  their own CTX-E provenance row, so the course is never credited with
  port-4000 rules, the container's provider keys, or the choices-fence
  question mechanism.

The slides earned two changes the other materials could not: R7 now
states that the filter runs inside the query rather than trimming its
results, with AC7b to discriminate the two (a garden-filtered food query
must still return the lone garden note); and R5 records that the course
drafted a merged single-inbox display and dropped it — it appears in no
video, while the shipped code renders separate lanes and names the
blended list as the thing not to do. The decks also carry a third,
abandoned lesson numbering, noted in CTX-E so it is never cited.

No canonical spec.md yet, so /prepare-build will refuse on this course
until one exists.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant