ENGLISH·COURSE API
    Preparing search index...
    CourseManifest: ZodObject<
        {
            id: $ZodBranded<ZodUUID, "CourseId", "out">;
            slug: $ZodBranded<ZodString, "Slug", "out">;
            title: ZodString;
            description: ZodString;
            language: ZodString;
            sequence: ZodNumber;
            draft: ZodDefault<ZodBoolean>;
            track: ZodDefault<ZodEnum<{ level: "level"; reference: "reference" }>>;
            outcomes: ZodOptional<ZodArray<ZodString>>;
            audience: ZodOptional<ZodString>;
            highlights: ZodOptional<ZodArray<ZodString>>;
            sounds: ZodOptional<
                ZodObject<
                    { vowels: ZodArray<ZodString>; consonants: ZodArray<ZodString> },
                    $strip,
                >,
            >;
            translations: ZodOptional<
                ZodRecord<
                    ZodString,
                    ZodObject<
                        {
                            description: ZodOptional<ZodString>;
                            outcomes: ZodOptional<ZodArray<ZodString>>;
                            audience: ZodOptional<ZodString>;
                            highlights: ZodOptional<ZodArray<ZodString>>;
                        },
                        $strip,
                    >,
                >,
            >;
            modules: ZodArray<
                ZodObject<
                    {
                        id: $ZodBranded<ZodUUID, "ModuleId", "out">;
                        slug: $ZodBranded<ZodString, "Slug", "out">;
                        title: ZodString;
                        sequence: ZodNumber;
                        lessons: ZodArray<
                            ZodDiscriminatedUnion<
                                [
                                    ZodObject<
                                        {
                                            id: $ZodBranded<(...), (...), (...)>;
                                            slug: $ZodBranded<(...), (...), (...)>;
                                            sequence: ZodNumber;
                                            title: ZodString;
                                            resources: ZodDefault<(...)>;
                                            kind: ZodLiteral<(...)>;
                                            description: ZodString;
                                            source: ZodString;
                                            durationSeconds: ZodNumber;
                                            poster: ZodOptional<(...)>;
                                            notesKey: ZodOptional<(...)>;
                                            uploadDate: ZodOptional<(...)>;
                                        },
                                        $strip,
                                    >,
                                    ZodObject<
                                        {
                                            id: $ZodBranded<(...), (...), (...)>;
                                            slug: $ZodBranded<(...), (...), (...)>;
                                            sequence: ZodNumber;
                                            title: ZodString;
                                            resources: ZodDefault<(...)>;
                                            kind: ZodLiteral<(...)>;
                                            body: ZodString;
                                        },
                                        $strip,
                                    >,
                                ],
                                "kind",
                            >,
                        >;
                    },
                    $strip,
                >,
            >;
        },
        $strip,
    > = ...

    One course, declared in full: src/content/<course-slug>.json.

    lessonCount and moduleCount are deliberately absent. They are derived from the nesting when the manifest is flattened, so they cannot disagree with the lessons actually declared. Likewise courseId and moduleId are absent from the nested rows — position in the tree already says what they are.