docs(pm): reconcile AI workflow prompt with uncertainty#1227
Conversation
Add an explicit uncertainty-preservation sentence to the PM interview prompt so the AI workflow steering added by PR #1201 does not pressure the interviewer to invent settled product decisions. This anticipates the nearby PM uncertainty guidance work called out in review.\n\nServices: shared\nAffected files:\n- src/ouroboros/bigbang/pm_interview.py
There was a problem hiding this comment.
Review — ouroboros-agent[bot]
Verdict: APPROVE
Metadata
| Field | Value |
|### Recovery Notes
First recoverable review artifact generated from codex analysis log.
---|---|
| PR | #1227 |
| HEAD checked | 98ac46c13507d214111dc5a55e994922a4b51c15 |
| Request ID | req_1779704773_20 |
| Review record | e260494a-1596-4042-b490-67ca15145631 |
What Improved
- PM interview prompt now explicitly tells the interviewer to preserve unsettled product questions as uncertainty, assumptions, and decide-later PM output instead of inventing certainty.
Issue Requirements
| Requirement | Status |
|---|---|
| No linked issue requirement captured | N/A |
| PR body requirement not provided beyond an empty template | N/A |
| Preserve unsettled PM/product uncertainty explicitly in interview steering | Met |
Prior Findings Status
No prior ouroboros-agent[bot] review findings were present in /tmp/pr_prior_bot_reviews_1227.md, and there were no human or inline review comments to reconcile.
Blockers
No in-scope blocking findings remained after policy filtering.
Follow-up Findings
| # | File:Line | Priority | Confidence | Suggestion |
|---|---|---|---|---|
| 1 | src/ouroboros/bigbang/pm_interview.py:440 | Low | Medium | Consider budgeting the PM steering prefix inside the inner InterviewEngine._build_system_prompt(..., max_chars=...) cap. The wrapper currently prepends PM text after the inner prompt is capped, so PM-specific prompts can exceed the inner 3,500-character system-message cap. This PR only adds a small amount of text and remains within the broader CLI reserve, so I am not blocking on it. |
Non-blocking Suggestions
| 1 | src/ouroboros/bigbang/pm_interview.py:62 | Nice-to-have test | A narrow assertion that _pm_steering contains the uncertainty/decide-later instruction would make future prompt drift easier to catch, but the behavioral risk of this one-line prompt change is low. |
Test Coverage Notes
- Reviewed
tests/unit/bigbang/test_pm_interview.py,tests/unit/bigbang/test_decide_later_items.py, and relevanttests/unit/bigbang/test_interview.pyprompt-budget tests. - Attempted targeted test run with
python -m pytest ..., butpythonis unavailable. - Retried with
python3 -m pytest ..., but this environment lackspytest. - Coverage is therefore based on static inspection only.
Design Notes
The change is scoped to PM prompt steering and aligns with the existing PMSeed contract, which already has assumptions and decide_later_items fields plus extraction support.
Design / Roadmap Gate
Affected boundary is PM interview question generation: PMInterviewEngine.start_interview() installs _PM_SYSTEM_PROMPT_PREFIX into the inner interview system prompt, while persistence, classifier state, extraction schema, and PMSeed parsing remain unchanged. The new instruction matches existing downstream fields and does not change replay, metadata restore, persistence, or MCP skip contracts.
Directional Notes
Review focus was on structured-spec integrity, prompt drift, decide-later handling, and prompt-budget runtime boundaries. Memory was advisory only; no blocker was raised without current source evidence.
Test Coverage
- Reviewed
tests/unit/bigbang/test_pm_interview.py,tests/unit/bigbang/test_decide_later_items.py, and relevanttests/unit/bigbang/test_interview.pyprompt-budget tests. - Attempted targeted test run with
python -m pytest ..., butpythonis unavailable. - Retried with
python3 -m pytest ..., but this environment lackspytest. - Coverage is therefore based on static inspection only.
Merge Recommendation
Approve. The PR is a low-risk prompt clarification that fits the current PM interview and PMSeed design. No blocking runtime, persistence, API, or contract regressions were found from the changed boundary.
Review-Metadata:
verdict: APPROVE
head_sha: 98ac46c
request_id: req_1779704773_20
review_profile: memory-aware-zero-trust-v2
advisory_memory_only: true
Reviewed by ouroboros-agent[bot] via Codex deep analysis
Summary\n\n- Reconciles #1201's AI workflow prompt steering with nearby PM uncertainty guidance.\n- Adds explicit instruction to preserve unsettled product questions as assumptions or decide-later output instead of inventing certainty.\n\n## Changes\n\n- Updates the PM interview system prompt text.\n\n## Notes\n\nFollow-up for the non-blocking wording reconciliation item on #1201.