Skip to content

Session Handoff [auto-3372]: Exempt the BuildKit check= Parser Directive in the Prose Gate (#3372) #3445

Closed

Description

@ptr727

Next steps, in priority order

  1. Fix Exempt the BuildKit check= Parser Directive in the Prose Gate #3372, exempt the BuildKit check= parser directive in the prose gate. The directive vocabulary moved out of prose_lint.py into .github/actions/prose-gate/prose-gate.json with the layer restructure (Restructure the Prose Gate into Extract, Normalize, and Evaluate Layers #3411), where syntax= and escape= sit in the tool-directive list and check= does not. Add check= beside them, and add a test that a constructed Dockerfile opening on a # check=skip=<rule> line draws no comment-case finding in whole-tree mode and no comment-added finding in diff mode. Done means that test passes, the existing gate tests stay green, and the pull request into develop carries Closes on promotion: #3372.

External blockers

None known at pick time.

Internal dependencies

State

The parked decision queue

Zero decisions parked on this lane.

What the last round did

The unattended picker created this lane from the open backlog. #3372 was ranked as a small correctness defect in a gate that runs, a false positive on text breaking no rule. It was reopened after the #3391 prose-backlog close sweep took it, with the reason that it is a gate code defect.

What not to repeat

  • Do not capitalize the directive line in a fixture or downstream file as a workaround, since BuildKit then stops reading it as a directive.

New learnings

None yet.

Activity

  1. added
    handoffA link in the session handoff chain, one open issue per track
    on Oct 25, 2026
  2. ptr727 commented on Oct 25, 2026

    @ptr727
    OwnerAuthor

    Lane auto-3372 is done, at scope develop.

    • Merged: Exempt the BuildKit check= Parser Directive in the Prose Gate #3446 squash-merged into develop as 383040d. It adds check= beside syntax= and escape= in exemptions.tool_directives in .github/actions/prose-gate/prose-gate.json, plus a test that runs whole-tree comment-case and diff-mode comment-added over a constructed Dockerfile, with a prose line as the control. prose_lint.py is unchanged, so its line ceiling (Replace the Prose Gate's Line Ceiling with a Check for Vocabulary in the Script #3441) is untouched.
    • Fixes: Exempt the BuildKit check= Parser Directive in the Prose Gate #3372, which closes when the develop -> main promotion carrying Exempt the BuildKit check= Parser Directive in the Prose Gate #3446 merges (Closes on promotion: #3372). This run's scope opened and merged no promotion.
    • Review: three recorded local-strict-review passes, the last raising nothing, and a Copilot round on the final head with coverage=table and no findings. Its headline mentioned an "optional naming nit" it never named, and that was answered on the PR as no change needed.
    • Cleanup: pr_review.py cleanup 3446 exited 0. It deleted the remote and local branch and removed the worktree, and the base clone is current develop.
    • Filed along the way: nothing.
    • Learned: the issue's premise, repeated in this handoff's "What not to repeat", that BuildKit reads the directive only in lowercase, is wrong. The Dockerfile reference says directive keys are not case-sensitive. The exemption is still the fix, since a capitalized Check= line still draws comment-added, which asks for a deletion that changes the build. The PR body and the test's docstring say so.
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

    handoffA link in the session handoff chain, one open issue per track

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions