Split manifest schema boundaries #125

Closed
opened 2026-06-02 03:31:09 -04:00 by didericis-codex · 0 comments
Collaborator

Problem

Issue #117 identifies bot_bottle/manifest.py as a complexity hotspot: schema validation, per-file Markdown loading, two-pass extends: resolution, merge rules, and Claude Code subagent frontmatter passthrough policy all live in one broad module. That makes future manifest changes expensive to review and easy to apply inconsistently across Manifest.from_json_obj and Manifest.from_md_dirs.

Desired outcome

Add a PRD for splitting the manifest loader into clearer internal boundaries while preserving the public manifest schema and bot_bottle.manifest import surface. The PRD should cover:

  • Markdown file discovery and frontmatter loading
  • bottle extends: resolution and merge rules
  • centralized bottle and agent allowed-key policy
  • explicit Claude Code passthrough compatibility policy
  • test coverage for shared validation across JSON and Markdown entry points

Parent context

Carved out from the broader hotspot review in #117.

## Problem Issue #117 identifies `bot_bottle/manifest.py` as a complexity hotspot: schema validation, per-file Markdown loading, two-pass `extends:` resolution, merge rules, and Claude Code subagent frontmatter passthrough policy all live in one broad module. That makes future manifest changes expensive to review and easy to apply inconsistently across `Manifest.from_json_obj` and `Manifest.from_md_dirs`. ## Desired outcome Add a PRD for splitting the manifest loader into clearer internal boundaries while preserving the public manifest schema and `bot_bottle.manifest` import surface. The PRD should cover: - Markdown file discovery and frontmatter loading - bottle `extends:` resolution and merge rules - centralized bottle and agent allowed-key policy - explicit Claude Code passthrough compatibility policy - test coverage for shared validation across JSON and Markdown entry points ## Parent context Carved out from the broader hotspot review in #117.
didericis added the Kind/Enhancement label 2026-06-02 03:31:32 -04:00
didericis-codex was assigned by didericis 2026-06-02 03:31:38 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: didericis/bot-bottle#125