Skip to content

Fail closed on pages.segments lists and context path types - #90

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/context-path-lists-2ccd
Sep 7, 2026
Merged

cursor[bot] merged 1 commit into
mainfrom
cursor/context-path-lists-2ccd

Conversation

@jmjava

@jmjava jmjava commented Sep 7, 2026 •

Copy link
Copy Markdown
Owner

Problem

  • pages.segments as a list was ignored; pages fell back to discovery and dropped maintainer titles
  • narration_from_source.context.paths as a non-list (except a single string in library helpers) became an empty focus set
  • manim_scene_generation as a list was not in the Config mapping-key gate

Change

Config.from_yaml now requires:

  • pages.segments to be a mapping when present
  • narration_from_source / manim_scene_generation hints, context.paths, context.globs to be string lists
  • those segments maps to be mappings of mappings

pages also raises if pages.segments is present and not a mapping.

Milestone: milestones/context-path-lists.md

Out of scope

  • Library _as_str_list still wraps a single string as one path for callers that skip Config.from_yaml
  • Empty pages.segments: {} still falls back to discovery

Testing

Local:

  • ruff check src/ tests/ — clean
  • pytest tests/ — 571 passed, 1 skipped
  • docgen benchmark — meets src/docgen/benchmark_data/baseline.json (no clock change)

CI on this branch is the merge gate.

Open in Web Open in Cursor 

A list pages.segments was ignored in favor of discovery. A non-list
narration_from_source.context.paths became an empty focus set. Require
mappings and string lists at config load.

Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review September 7, 2026 19:17
@cursor
cursor Bot merged commit a8cd8d3 into main Sep 7, 2026
6 checks passed
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.

2 participants