canned-prompts/examples/pqrst-estimate/prompt.md

41 lines
2.8 KiB
Markdown
Raw Normal View History

Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
Please produce a retrospective PQRST-Estimate for this completed coding session.
CANP-WP-0002 T03: composition by reference, two kinds T01 had already delivered half of composition without naming it: a derived default binds an input to a prompt dependency, which is transclusion — run package B, use its output. What was missing was the deterministic half. `include` inlines another package's rendered template as text. No model is involved, so the reference CLI can actually perform it, and a shared preamble, rubric or style block becomes a versioned package instead of copied text. This is the concrete way to honor INTENT principle 9 without any runtime. `derive` stays as it was. Both are input defaults, so composition reuses the resolution machinery rather than adding a second one. No template inheritance. Four of this repo's own documents argue against it: INTENT principle 3 (hidden context defeats reuse), section 19's "make package contents visible before execution", section 17's requirement that behavior changes produce a new version, and the non-goal on range resolution. Version selectors: an exact pin is the expected form, with `any`, `newest` and `>= X.Y.Z` as explicit opt-ins so looseness is written rather than implied by absence. Selectors are evaluated per dependency against what is available — no solver, no cross-dependency constraint satisfaction — which is what keeps them outside the range-resolution non-goal, and the spec says so. Also defines `type` (template | fragment), which appeared once in the section 4 manifest surface and was specified nowhere. Spec: 3.2 (type), 5.1 (inclusion resolution rule, renumbered), 6.1 (included default), 10.1 and 10.2 (new), 18 (rules 14-16), 21. Reference CLI: validate_version_selector, select_version, prompt_dependencies replacing prompt_dependency_ids, check_composition_reference, CatalogComposer with cycle detection, and resolve_inputs gaining composer= and inherited=. Tests 21 -> 42. Examples: house-style is a real fragment package; pqrst-estimate composes it and is bumped 0.1.0 -> 0.2.0 per section 17. Fixes an ordering bug found while testing: inputs resolved before parameters, so an included package could not see the including package's parameters and silently fell back to its own defaults — the fragment rendered tone=neutral where the including package said blunt. Parameters now resolve first; the report still lists inputs first. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 01:31:58 +02:00
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
Allocate exactly 100% of the session's effective engineering effort across these five dimensions and no others:
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
P — Main Problem: direct work producing the primary requested outcome — implementing the feature, fix, algorithm, integration, or other core deliverable.
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
Q — Quality and Tests: work establishing correctness, robustness, maintainability, and confidence — tests, verification, edge cases, debugging for correctness, validation, error handling, and quality-oriented refactoring.
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
R — Research and Context Clarification: work required to understand the task, repository, architecture, dependencies, existing behavior, documentation, specifications, or ambiguous requirements.
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
S — Security and Credentials: security-specific work involving authentication, authorization, permissions, credentials, secrets, tenant isolation, trust boundaries, sensitive data, threat considerations, or security controls.
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
T — Task Organization: planning, decomposition, sequencing, todo management, coordination, scope management, and other effort spent keeping the work organized rather than directly implementing or validating it.
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
Rules:
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
1. Treat this strictly as a retrospective audit, not a planning target or productivity score.
2. The five values must be integers in 0..100 and must sum to exactly 100.
3. Estimate relative effective engineering attention — not tokens, tool calls, wall-clock time, compute, or hidden model activity.
4. Where categories overlap, classify effort by the primary purpose of the activity at the time, and do not double-count it.
5. Ground each non-zero category in concrete evidence from what actually happened in this session: files or modules inspected or changed, tests written or run, documentation consulted, security or credential work handled, planning or coordination performed.
6. Do not force every category to be non-zero. S may legitimately be 0% and must not be inflated merely because security is generally important.
7. Prefer honest coarse estimates, normally in roughly 5-percentage-point increments, over false precision. If you cannot defend a split, round to tens and lower the confidence.
8. Report uncertainty only in the Confidence field. Never fold it into P, Q, R, S, or T.
9. "Dominant factors" must name concrete session facts, not restate the percentages.
10. If the session record is insufficient to estimate a category confidently, say so rather than inventing evidence.
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
Return exactly this format, and nothing before or after it:
Package the canonical PQRST prompt faithfully examples/pqrst-estimate was not the canonical PQRST prompt. The canonical one is ~/pqrst-practice/PqrstPrompt.md, normatively specified in spec/PqrstEstimationPractice.md, and hall-of-helix CLOSING.md requires pasting that block unmodified. Ours was a paraphrase with a different output shape — no Confidence, no Signature, no Dominant factors — and CANP-WP-0002-T03 made it worse by prepending a house_style inclusion to a prompt whose governing document says do not modify it. A copied prompt that silently forked its source is the exact failure INTENT.md opens with, sitting in this repo's own examples directory. The template is now the canonical block extracted programmatically rather than retyped, and the default render is byte-identical to it: 2886 bytes both ways. The source documents two optional add-ons appended after the block. CPF has no conditionals, so they are not a flag: `add_ons` is an input defaulting to the empty string, and each sanctioned add-on is an example fixture. This is worth noting as evidence about section 23's deferred "richer template syntax" — the workaround is adequate here, but it is a workaround. evals/canonical-fidelity.yaml guards the property with sixteen render checks, including not_contains checks naming the paraphrase this package used to be, so the drift cannot silently recur. Version 0.2.1 -> 1.0.0: changed inputs and a materially different intended output is the MAJOR case in section 17. Section 22's worked example and the house-style README both claimed pqrst-estimate composes the style fragment. It no longer does, by design, so both are corrected; composition is illustrated in section 10.4 instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
2026-09-06 15:26:36 +02:00
PQRST-Estimate
P: <int>%
Q: <int>%
R: <int>%
S: <int>%
T: <int>%
Sum: 100%
Confidence: <low|medium|high>
Signature: P<int> Q<int> R<int> S<int> T<int>
Dominant factors: <one or two sentences naming the concrete drivers of the largest slices>
Notes: <optional; omit this line entirely if there is nothing to add>
{{ add_ons }}