Skip to content

marketplace-publish.yml: truncate commit_message to 4000 chars before API call (HTTP 400 fix) #14

@k2kite-megankim

Description

@k2kite-megankim

배경

lvis-plugin-meeting v0.2.0 publish 워크플로 가 commit_message 12,002자로 marketplace API 의 4096자 한계 초과해 HTTP 400 으로 실패. 빌드/패키징은 성공했지만 메타데이터 등록 단계 거부.

v0.2.0 실패 run 에서 확인된 에러:

{"detail":"commit_message exceeds 4096 chars"}::error::Marketplace publish failed with HTTP 400

unblock 은 v0.2.1 chore bump (짧은 메시지) 로 처리됨 — PR #80, v0.2.1 발행 성공. 그러나 미래 대형 PR (특히 보안 hardening 요약처럼 detail-heavy 한 squash 머지) 가 같은 함정에 빠질 가능성 높음 — 모든 플러그인 보호 필요.

제안

marketplace-publish.yml reusable workflow 에서 commit_message 를 marketplace API 호출 전 truncate:

  • 4000자 (4096 - 96 buffer) 로 cut
  • 잘리면 끝에 … [truncated, full message at <commit-url>] 표기
  • truncated 는 metadata 만 — full message 는 git 히스토리에 그대로 보존

영향 범위

  • 모든 LVIS 플러그인 (meeting / local-indexer / ms-graph / lge-api / work-proactive / agent-hub / agent-hub-front / template) 의 publish 워크플로
  • @v1 floating 태그 갱신 시 자동 적용

Acceptance criteria

  • 4000+ 자 commit message 로 publish 시도 → 워크플로 성공 + marketplace 에 truncated 메시지 등록
  • 4000 미만 commit message → 동작 변화 없음
  • Truncation 발생 시 워크플로 로그에 명시 ("commit_message truncated from X chars to 4000")

우선순위

낮음 — 즉시 블로킹 X (chore bump 회피 가능). 다만 다음 보안 hardening / 대형 마이그 PR 시 또 막힐 수 있어 backlog 우선순위로.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions