Skip to content

sharepoint.sites[*].output_dir is documented in S10 but read by no code path #69

Description

@lsimons

Problem

sharepoint.sites.<name>.output_dir appears in S10's "Config schema" section, and is now modelled by SharepointCliSiteEntry — but nothing reads it. The CLI resolves output directories from --output or the site→repo mapping.

This is the same shape as the gitlab_group dead field (#42, fixed): a config key that is parsed, validated and stored, and then never consulted. An operator who sets it gets no error and no effect.

Why it is modelled anyway

#52's fix gave the --config file a typed pydantic model, which inherits extra="forbid". Without declaring sites/output_dir, a config written against S10's documented schema would have gone from silently ignoring sync_root to failing to start. So it is modelled deliberately, purely so documented configs load.

Suggested fix

Decide which it is, the same way #42 was decided:

  • Delete it — drop the key from SharepointCliSection, from S10's schema example, and from the model. Note the interaction with extra="forbid": deleting the field means an existing config carrying output_dir starts failing, so this wants a release note, or a tolerated-but-ignored shim.
  • Wire it up — make sync-site honour a per-site output_dir from config, which is what the spec implies today.

Deleting is probably right unless someone actually wants per-site output directories in config; --output already covers the case.

Files

  • src/mdd/sharepoint/models.py (SharepointCliSiteEntry)
  • docs/spec/S10-sharepoint-command.md (Config schema)

Provenance

Noticed while fixing #52. Deliberately out of scope there.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    • Status
      Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions