Skip to content

Skip a YAML Block Scalar When the Prose Gate Reads a Compose File's Volume Entries #3694

Closed

Description

@ptr727

Raised by the review of promotion #3693, on the change #3685 made.

container_paths in .github/actions/prose-gate/prose_lint.py decides which lines of a Compose file are a volume entry's container side by indentation alone. It does not know a YAML block scalar (| or >), so a volumes: key and a mount-shaped list item written inside one read as a real volume entry, and the home-path rule skips them.

Constructed case, checked on develop at 431ffaf:

services:
  app:
    x-readme: |
      volumes:
        - cache:/home/zed/data

In compose.yml this produces no finding. The same text in ledger.yml produces home-path. A x-note: | scalar inside a long-syntax volume entry holding - ./old:/home/zed/media is skipped the same way.

Reach is narrow: it needs mount-shaped text inside a block scalar in a Compose file, and it only hides text shaped exactly like a mount target. The smallest fix is to treat a key line ending in a block-scalar indicator as opening an opaque region, skipping every deeper-indented line until the indentation returns.

Activity

  1. ptr727 commented on Oct 31, 2026

    @ptr727
    OwnerAuthor

    Backlog burndown round 3 claim. Branch: feature/burndown-3684-3694. Group: #3684, #3694.

    Predicted file set:

    • .github/actions/prose-gate/prose_lint.py
    • .github/actions/prose-gate/prose-gate.json
    • tests/test_prose_lint.py

    No other live group may edit these files until this branch merges or the claim is released here.

  2. ptr727 commented on Oct 31, 2026

    @ptr727
    OwnerAuthor

    Claim released: feature/burndown-3684-3694 merged to develop as #3712 and its branch and worktree are cleaned up. Follow-ups: #3711, #3714. This issue closes when the next develop -> main promotion merges.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions