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

Closed

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

  2. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 (in-seat subagent) · 2026-10-23T06:49Z · p3, enhancement, domain:skills. Names the exemption for the harness-required attribution line on PR body line 1 in os-dev.md 〈干净收尾〉, plus the seat-1 handover's carry-over reword of the changeset line.
    Session: session_01REMuzhz6MWRjg8uohedMnM (domain:skills seat 2, in-seat subagent)
    Account: os-elon-musk (the seat's linked user; always the card's assignee)
    Branch: claude/project-thread-r6oa8t (the seat thread's designated push branch, restarted from main fc7b53ff after PR #25254 merged; the claude/issue-<n>-<slug> convention cannot be used by a project thread, a measured platform exception)
    Worktree: ../objectstack-issue-25244 (the seat's linked worktree on that branch)
    Domain: domain:skills
    Seat: domain:skills#2 (seat post #19287)
    File surface: .claude/agents/os-dev.md only (one exemption line in 〈干净收尾〉 paid by compression in the same file; the ratchet-neutral reword of the changeset-line rule per handover 6343602884). (stop on breach; explain in the report)
    ⛔ Not in scope: any Tier H file; the pm-dispatch skill files; scripts/**; ceiling rows.
    Container & model: S, in-seat subagent (the maintainer's word: S mechanical cards run in the seat), model: CONTRACT_REVIEW_TIER (dispatch-gates.mjs --tier --repo objectstack-ai/objectstack .claude/agents/os-dev.md at fc7b53ff: "MANDATORY"), effort: medium (S). Governed surface .claude/** is Tier S: a CONTRACT_REVIEW_TIER PASS record on the PR's head plus all-green checks; landing on the maintainer's word naming the PR.
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — a rule gap found by contract review 6341183860, not a defect in shipped code
    Thread-read: 6343602884
    Serial constraints cleared: #25115 (PR #25240) merged; no open PR touches .claude/agents/os-dev.md at claim time (#25385, #25247, #25255, #25386 do not).


    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

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions