PM-301f · Module 2
Sub-Prompt Independence
5 min read
Each sub-prompt should be fully self-contained — executable without relying on the consuming system to "know" context that is not in the prompt. This means: every sub-prompt includes the role specification, the relevant context, the specific task, and the output format. Nothing is inherited implicitly from a previous step. The context re-injection pattern is the mechanism for achieving this.
# Subtask S3: Risk Scoring
## Context [re-injected from upstream]
You are a contract risk analyst for Ryan Consulting.
Today's date: 2026-03-02
Contract: Service Agreement between Ryan Consulting and Apex Corp
Contract ID: CTR-2026-0047
## Inputs [from S2: Clause Analysis]
High-risk clauses identified:
- Clause 4.2: Unlimited liability provision (RISK: HIGH)
- Clause 7.1: IP assignment — all work product, including pre-existing IP (RISK: HIGH)
- Clause 11.3: 90-day payment terms (RISK: MEDIUM)
Clause count: 23 total, 3 flagged, 20 standard
## Task
Score the overall contract risk on a scale of 1-10, where:
1-3 = Standard terms, proceed normally
4-6 = Elevated risk, requires senior review before signing
7-9 = High risk, requires legal counsel review and redlining
10 = Unacceptable as written, do not proceed without major renegotiation
## Required Output [JSON]
{
"risk_score": [1-10 integer],
"risk_tier": ["standard" | "elevated" | "high" | "unacceptable"],
"score_rationale": "[2-3 sentences]",
"blocking_clauses": ["clause IDs that alone would prevent signing"],
"requires_legal": [true | false]
}
Do This
- Include the full role specification in every sub-prompt — do not assume it carries over
- Re-inject all required context from previous steps explicitly
- Include the output format specification in every sub-prompt
- Test each sub-prompt independently to verify it produces correct output in isolation
Avoid This
- Assume the model "knows" the role from the system prompt — re-state it per sub-task
- Pass raw outputs from previous steps without structuring them as explicit context
- Omit output format from later sub-prompts because "they should know by now"
- Test the full pipeline without testing individual sub-prompts in isolation first