What happened
A why run was asked whether an owner ruling banned a vendor endpoint outright or only one use of it. The synthesizer (following references/synthesizer-prompt.md and epistemics.md) correctly found that the only owner-verbatim text on disk was two words, and that every scope statement had been written by the agent within the hour and then read back two days later as if it were the ruling. That is exactly the failure the epistemics file warns about, but nothing in the synthesizer template forces the split: a [Direct] citation of a record row still passes when the row is the agent's paraphrase of the human.
Separately, the whole investigation was moot: the board already said a different stage owned the artifact the rule governed, so the permission question never needed answering. The owner's reaction was "why are you asking about this in this stage".
Proposal
- In
synthesizer-prompt.md and epistemics.md: when a claim rests on a human ruling, the [Direct] tier requires the human's verbatim text (a quote attributable to the person), and any same-day agent paraphrase of that ruling is labelled as such and tiered no higher than [Inferred]. Add a one-line check to the Quality Check list: "Every human-ruling citation is the human's own words; paraphrases are marked."
- In
SKILL.md Step 1 (Understand the Target and the Question): before archaeology on whether a rule permits an artifact, state which component or stage owns that artifact; if the owner is not the one asking, say the rule question is moot for the asker and stop there. Cheap, and it would have saved an afternoon.
Why upstream
Both are small wording changes inside the skill body; this project does not fork pstack and keeps its own rules outside the plugin, so the durable fix belongs here.
Context: open-pstack 1.2.1 on Claude Code, macOS. Happy to send a PR if you prefer.
What happened
A
whyrun was asked whether an owner ruling banned a vendor endpoint outright or only one use of it. The synthesizer (followingreferences/synthesizer-prompt.mdandepistemics.md) correctly found that the only owner-verbatim text on disk was two words, and that every scope statement had been written by the agent within the hour and then read back two days later as if it were the ruling. That is exactly the failure the epistemics file warns about, but nothing in the synthesizer template forces the split: a[Direct]citation of a record row still passes when the row is the agent's paraphrase of the human.Separately, the whole investigation was moot: the board already said a different stage owned the artifact the rule governed, so the permission question never needed answering. The owner's reaction was "why are you asking about this in this stage".
Proposal
synthesizer-prompt.mdandepistemics.md: when a claim rests on a human ruling, the[Direct]tier requires the human's verbatim text (a quote attributable to the person), and any same-day agent paraphrase of that ruling is labelled as such and tiered no higher than[Inferred]. Add a one-line check to the Quality Check list: "Every human-ruling citation is the human's own words; paraphrases are marked."SKILL.mdStep 1 (Understand the Target and the Question): before archaeology on whether a rule permits an artifact, state which component or stage owns that artifact; if the owner is not the one asking, say the rule question is moot for the asker and stop there. Cheap, and it would have saved an afternoon.Why upstream
Both are small wording changes inside the skill body; this project does not fork pstack and keeps its own rules outside the plugin, so the durable fix belongs here.
Context: open-pstack 1.2.1 on Claude Code, macOS. Happy to send a PR if you prefer.