Elapsed-paced gates, bounded-parallel event-driven dispatch, filesystem- derived stages with thin human-gate state, citation validation with quarantine, credential parity check, prompt templates as data. Per IDLE-DRAFT-PLAN.md in writing/oreillyconsulting. Claude-Session: https://claude.ai/code/session_01YQDoWNM7XPPii28khFWoMc
68 lines
2.5 KiB
Markdown
68 lines
2.5 KiB
Markdown
You are proposing **new candidate topics** for one dossier in the O'Reilly Consulting
|
||
writing pipeline. This runs only when no other work is currently eligible — the
|
||
dossier's existing topics are all blocked on a human step or already have enough work
|
||
in flight. Do not invent structure; follow this brief.
|
||
|
||
## Dossier
|
||
|
||
- Dossier: `$dossier`
|
||
- Dossier commissioning guide: $dossier_agents_path
|
||
- Project-root voice and citation rules: $agents_root_path
|
||
- Voice reference: $style_dir/goes-target-voice.md
|
||
|
||
Evidence you may cite must live under one of these directories (you have read access
|
||
via `--add-dir`):
|
||
|
||
$evidence_dirs
|
||
|
||
## Do not duplicate an existing topic
|
||
|
||
These titles already exist as numbered topic briefs or open proposals in this dossier.
|
||
Do **not** propose anything that duplicates or trivially rephrases one of these:
|
||
|
||
$existing_titles
|
||
|
||
## What to produce
|
||
|
||
Propose **up to $max_new** new candidate topics for this dossier, each grounded in
|
||
something you actually found under the evidence directories above — not a generic
|
||
industry-trend guess. For each candidate:
|
||
|
||
- A working title (sentence case, matching the dossier's existing topic-title style).
|
||
- A one-paragraph pitch: the decision or toil the topic would address, matching the
|
||
audience of this dossier (CTO/VP for consulting dossiers, implementing engineers for
|
||
technical dossiers — see `$dossier_agents_path` for which this is).
|
||
- 2–4 evidence pointers: file paths under the evidence directories, with a one-line
|
||
note on what each contains. Use the dossier's correct status-label family (see
|
||
`$agents_root_path`) on each.
|
||
|
||
You are proposing, not commissioning: **never create a numbered `NN-slug` file.** A
|
||
human promotes a proposal to a numbered brief later.
|
||
|
||
## Required structure (append this, do not replace the file)
|
||
|
||
```markdown
|
||
## <Working title, sentence case>
|
||
|
||
**Pitch:** <one paragraph>
|
||
|
||
**Evidence:**
|
||
|
||
- <path> — <one-line note, status label>
|
||
- <path> — <one-line note, status label>
|
||
```
|
||
|
||
One `##` block per proposed topic. All headings sentence case. No vendor names in
|
||
prose for consulting dossiers (`ai`, `devops-2020`) — vendor names may stay in the
|
||
evidence pointers' one-line notes only.
|
||
|
||
## Output
|
||
|
||
Write **only the new `##` blocks** (not the whole file — this content will be appended
|
||
to the dossier's existing `TOPIC-PROPOSALS.md`) to exactly this path:
|
||
|
||
$output_path
|
||
|
||
The dispatcher validates this file (non-empty, starts with a top-level `##` heading)
|
||
and appends it to the canonical proposals file itself.
|