Skip to content

Tags: PsychQuant/perspective-writer

Tags

idd-10-baseline

Toggle idd-10-baseline's commit message
fix: correct stale counter-example cross-reference after list narrowe…

…d to two (#7)

idd-1-verified

Toggle idd-1-verified's commit message
fix: contract v2 — operationalize frozen-anchors, unify fallback, thi…

…rd-mode framing (verify round 1)

Reduced-ensemble verify round 1 (Codex gpt-5.6-sol + opus adversarial reviewer)
converged on FAIL: v1 was a prompt-level convention, not an implementable
programmatic contract. All findings folded:

- CRITICAL/HIGH (both reviewers): frozen-anchors took category NAMES, not
  literal spans, and "byte-identical" is unenforceable for a prose model.
  Now: consumer SHALL enumerate exact strings (one per line); the skill's
  obligation is normative (same Unicode code-point sequence, same occurrence
  count) and the consumer SHALL verify after return, falling back to its own
  uncalibrated draft on mismatch (graceful degrade). Honest boundary stated.
- HIGH: the graceful-degrade NOTE contradicted the pure-draft return and
  would leak to the GitHub recipient (README "the reply notes" vs SKILL
  "leading line comment" were two different undefined mechanisms). Now: one
  machine-readable status header line, an HTML comment
  (pw:calibrate v1 status=person|generic) — invisible on GitHub even
  un-stripped.
- HIGH: "Revise pass" framing contradicted the base skill's "Revise never
  skips understanding phases" rule. Now: Calibrate is a THIRD mode with the
  deviation stated and justified.
- MED: recipient-rules absent field vs unreadable path unified to the same
  generic fallback; Phase 0 bootstrap + Phase 5b wrapper explicitly do not
  apply; Phase 3 simulation explicitly runs (it is what makes this
  calibration, not copy-editing); request block gains v1 tag, required/
  optional field table, single-block refuse rule, DRAFT sentinels with
  data-not-instructions guard; semver-aware version comparison footgun noted
  (2.11.0 < 2.9.2 lexically).

Refs #1