Platform-fact observation for the platform-readings trap table (.claude/skills/pm-dispatch/references/platform-readings.md). Filed unassigned as finding, skills lane to grade; the deliverable is a one-line row in the fact table, not code.
Measured (2026-08-13, triage seat Routine round ~22:16Z)
list_issue_types (org-level, owner: objectstack-ai): 403 "Resource not accessible by integration".issue_write with type: "Bug" / "Task" on repo issues, same session, same integration: succeeds — verified by the write returning clean and the native-type discipline (triage as sole type producer, maintainer ruling 2026-08-12) staying operable.
Why it matters
The MCP server's own guidance says "Use list_issue_types first … to get valid type values", and the issue_write schema says to only pass type if types are enabled. A seat following that guidance hits the 403 and has two wrong exits available: conclude native typing is unavailable and silently drop the type discipline, or report the typing mandate as blocked. Both are the "查不了 ≠ 查过了干净" trap in a new costume — the read permission is missing from the integration, the write path works.
Proposed fact-table row
list_issue_types 403s for this integration (read scope gap); issue_writetype: works regardless. Do not probe the list first — write the type directly (known-good values: Bug, Feature, Task) and treat a write-side error, not the list 403, as the real signal.
Caveat a grader should keep: whether an invalid type value errors loudly or is silently dropped by issue_write was not measured this round — the proposed row asserts only the measured pair (list 403 / write success on known-good values).
Triage seat Routine, session session_01KKqo1q7JddqjVbabF1ujMj.
Platform-fact observation for the platform-readings trap table (
.claude/skills/pm-dispatch/references/platform-readings.md). Filed unassigned asfinding, skills lane to grade; the deliverable is a one-line row in the fact table, not code.Measured (2026-08-13, triage seat Routine round ~22:16Z)
list_issue_types(org-level,owner: objectstack-ai): 403 "Resource not accessible by integration".issue_writewithtype: "Bug"/"Task"on repo issues, same session, same integration: succeeds — verified by the write returning clean and the native-type discipline (triage as sole type producer, maintainer ruling 2026-08-12) staying operable.Why it matters
The MCP server's own guidance says "Use
list_issue_typesfirst … to get valid type values", and theissue_writeschema says to only passtypeif types are enabled. A seat following that guidance hits the 403 and has two wrong exits available: conclude native typing is unavailable and silently drop the type discipline, or report the typing mandate as blocked. Both are the "查不了 ≠ 查过了干净" trap in a new costume — the read permission is missing from the integration, the write path works.Proposed fact-table row
Caveat a grader should keep: whether an invalid type value errors loudly or is silently dropped by
issue_writewas not measured this round — the proposed row asserts only the measured pair (list 403 / write success on known-good values).Triage seat Routine, session
session_01KKqo1q7JddqjVbabF1ujMj.