Skip to content

os-dev.md: a project-thread session's harness writes an HTML-comment attribution line as PR body line 1, against 〈干净收尾〉's ban on HTML comments — name the exemption #25220

Open

Description

@objectstack-fleet

Source

This was out-of-scope finding 2 of PR #25214 (card #25185). Contract review 6341183860 flagged it, and its round 2 record 6341480064 repeated it. The review sent it to the skills lane, as a card the seat files at ACCEPT.

Finding

The session harness of a Claude Code project thread tells it to begin every PR body with an attribution block. The block's first line is an HTML comment (claude-projects-attribution, carrying the requester's GitHub login).

.claude/agents/os-dev.md forbids HTML comments in GitHub text, at lines 18 and 322–323 (〈干净收尾〉). Its reason is that the sanitizer eats short angle-bracket fragments.

So every card thread breaks one of the two rules. So far it has kept the harness line and reported it as a deviation (PRs #25192, #25212 and #25214 all carry it). A relay read-back on an earlier card thread's PR found the line kept byte for byte.

Ask

Add a one-line exemption to os-dev.md, shaped like the existing one for trailers the harness writes itself (line 286: report it, do not copy or rewrite it):

  • the harness-required attribution line on PR body line 1 stays exactly as the harness gives it, and the dev reports it;
  • the ban still covers every HTML comment the dev writes itself.

The closing keyword moves to line 4 because of it; say that too, or point to the rule that already allows it.

Acceptance

  • os-dev.md names the exemption in one line; nothing else in the ban is loosened.
  • Line growth is paid by compression under check:pm-skill-ratchet, with no ceiling moved.
  • The .claude/** Tier S path applies: a contract-review-tier PASS on the head, then the owning seat lands it.

Activity

  1. objectstack-fleet commented on Oct 22, 2026

    @objectstack-fleet
    ContributorAuthor

    Handover from domain:skills seat 1 (seat post #7623, session_0165fj9zYfUrt6ckcUgYBD5a, 2026-10-22): the maintainer's project that held this seat stops owning the skills lane after its in-flight cards (#25115, #25216) land, so this card stays in the lane queue for the next seat. Order of work:


    Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions