scriveno 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +222 -0
- package/agents/continuity-checker.md +85 -0
- package/agents/drafter.md +248 -0
- package/agents/plan-checker.md +209 -0
- package/agents/researcher.md +114 -0
- package/agents/translator.md +204 -0
- package/agents/voice-checker.md +154 -0
- package/bin/install.js +1620 -0
- package/commands/scr/add-note.md +51 -0
- package/commands/scr/add-unit.md +101 -0
- package/commands/scr/art-direction.md +225 -0
- package/commands/scr/autopilot-publish.md +210 -0
- package/commands/scr/autopilot-translate.md +237 -0
- package/commands/scr/autopilot.md +200 -0
- package/commands/scr/back-matter.md +630 -0
- package/commands/scr/back-translate.md +197 -0
- package/commands/scr/beta-reader.md +97 -0
- package/commands/scr/blurb.md +149 -0
- package/commands/scr/book-proposal.md +210 -0
- package/commands/scr/build-ebook.md +448 -0
- package/commands/scr/build-poetry-submission.md +202 -0
- package/commands/scr/build-print.md +598 -0
- package/commands/scr/build-smashwords.md +171 -0
- package/commands/scr/build-world.md +158 -0
- package/commands/scr/cast-list.md +104 -0
- package/commands/scr/chapter-header.md +158 -0
- package/commands/scr/character-arc.md +108 -0
- package/commands/scr/character-ref.md +160 -0
- package/commands/scr/character-sheet.md +143 -0
- package/commands/scr/character-touch.md +157 -0
- package/commands/scr/character-voice-sample.md +111 -0
- package/commands/scr/check-notes.md +50 -0
- package/commands/scr/cleanup.md +159 -0
- package/commands/scr/compare.md +112 -0
- package/commands/scr/complete-draft.md +49 -0
- package/commands/scr/continuity-check.md +129 -0
- package/commands/scr/copy-edit.md +118 -0
- package/commands/scr/cover-art.md +382 -0
- package/commands/scr/cultural-adaptation.md +177 -0
- package/commands/scr/demo.md +93 -0
- package/commands/scr/dialogue-audit.md +143 -0
- package/commands/scr/discuss.md +118 -0
- package/commands/scr/discussion-questions.md +129 -0
- package/commands/scr/do.md +68 -0
- package/commands/scr/draft.md +97 -0
- package/commands/scr/editor-review.md +466 -0
- package/commands/scr/export.md +942 -0
- package/commands/scr/fast.md +65 -0
- package/commands/scr/front-matter.md +696 -0
- package/commands/scr/health.md +113 -0
- package/commands/scr/help.md +121 -0
- package/commands/scr/history.md +92 -0
- package/commands/scr/illustrate-scene.md +211 -0
- package/commands/scr/import.md +95 -0
- package/commands/scr/insert-unit.md +108 -0
- package/commands/scr/line-edit.md +146 -0
- package/commands/scr/manager.md +77 -0
- package/commands/scr/manuscript-stats.md +139 -0
- package/commands/scr/map-illustration.md +213 -0
- package/commands/scr/map-manuscript.md +134 -0
- package/commands/scr/merge-units.md +136 -0
- package/commands/scr/multi-publish.md +344 -0
- package/commands/scr/new-character.md +167 -0
- package/commands/scr/new-revision.md +50 -0
- package/commands/scr/new-work.md +148 -0
- package/commands/scr/next.md +125 -0
- package/commands/scr/originality-check.md +170 -0
- package/commands/scr/outline.md +131 -0
- package/commands/scr/pacing-analysis.md +170 -0
- package/commands/scr/panel-layout.md +225 -0
- package/commands/scr/pause-work.md +88 -0
- package/commands/scr/plan.md +112 -0
- package/commands/scr/plant-seed.md +57 -0
- package/commands/scr/plot-graph.md +199 -0
- package/commands/scr/polish.md +141 -0
- package/commands/scr/profile-writer.md +154 -0
- package/commands/scr/progress.md +51 -0
- package/commands/scr/publish.md +455 -0
- package/commands/scr/query-letter.md +183 -0
- package/commands/scr/quick-write.md +82 -0
- package/commands/scr/relationship-map.md +129 -0
- package/commands/scr/remove-unit.md +120 -0
- package/commands/scr/reorder-units.md +126 -0
- package/commands/scr/resume-work.md +97 -0
- package/commands/scr/sacred/annotation-layer.md +105 -0
- package/commands/scr/sacred/chronology.md +121 -0
- package/commands/scr/sacred/concordance.md +88 -0
- package/commands/scr/sacred/cross-reference.md +97 -0
- package/commands/scr/sacred/doctrinal-check.md +129 -0
- package/commands/scr/sacred/genealogy.md +107 -0
- package/commands/scr/sacred/source-tracking.md +101 -0
- package/commands/scr/sacred/verse-numbering.md +103 -0
- package/commands/scr/sacred-numbering-format.md +103 -0
- package/commands/scr/save.md +109 -0
- package/commands/scr/scan.md +291 -0
- package/commands/scr/sensitivity-review.md +169 -0
- package/commands/scr/series-bible.md +127 -0
- package/commands/scr/session-report.md +80 -0
- package/commands/scr/settings.md +58 -0
- package/commands/scr/split-unit.md +123 -0
- package/commands/scr/spread-layout.md +187 -0
- package/commands/scr/storyboard.md +262 -0
- package/commands/scr/subject-touch.md +168 -0
- package/commands/scr/submit.md +50 -0
- package/commands/scr/subplot-map.md +147 -0
- package/commands/scr/sync.md +116 -0
- package/commands/scr/synopsis.md +137 -0
- package/commands/scr/theme-tracker.md +128 -0
- package/commands/scr/thread.md +83 -0
- package/commands/scr/timeline.md +141 -0
- package/commands/scr/track.md +564 -0
- package/commands/scr/translate.md +260 -0
- package/commands/scr/translation-glossary.md +298 -0
- package/commands/scr/translation-memory.md +310 -0
- package/commands/scr/troubleshoot.md +59 -0
- package/commands/scr/undo.md +106 -0
- package/commands/scr/validate.md +133 -0
- package/commands/scr/versions.md +94 -0
- package/commands/scr/voice-check.md +133 -0
- package/commands/scr/voice-test.md +68 -0
- package/data/CONSTRAINTS.json +1606 -0
- package/data/demo/.manuscript/BRIEF.md +37 -0
- package/data/demo/.manuscript/CHARACTERS.md +90 -0
- package/data/demo/.manuscript/OUTLINE.md +46 -0
- package/data/demo/.manuscript/PLOT-GRAPH.md +75 -0
- package/data/demo/.manuscript/STATE.md +44 -0
- package/data/demo/.manuscript/STYLE-GUIDE.md +119 -0
- package/data/demo/.manuscript/THEMES.md +51 -0
- package/data/demo/.manuscript/WORK.md +51 -0
- package/data/demo/.manuscript/config.json +59 -0
- package/data/demo/.manuscript/drafts/body/1-the-letter-DRAFT.md +51 -0
- package/data/demo/.manuscript/drafts/body/2-the-workshop-DRAFT.md +51 -0
- package/data/demo/.manuscript/drafts/body/3-the-pier-DRAFT.md +45 -0
- package/data/demo/.manuscript/drafts/body/4-the-clock-DRAFT.md +59 -0
- package/data/demo/.manuscript/plans/5-the-reunion-PLAN.md +52 -0
- package/data/demo/.manuscript/reviews/2-the-workshop-REVIEW.md +61 -0
- package/data/export-templates/scriveno-academic.latex +184 -0
- package/data/export-templates/scriveno-acm.latex +67 -0
- package/data/export-templates/scriveno-apa7.latex +83 -0
- package/data/export-templates/scriveno-book.typst +175 -0
- package/data/export-templates/scriveno-chapbook.typst +121 -0
- package/data/export-templates/scriveno-elsevier.latex +76 -0
- package/data/export-templates/scriveno-epub.css +386 -0
- package/data/export-templates/scriveno-fixed-layout-epub.css +76 -0
- package/data/export-templates/scriveno-fixed-layout.opf +23 -0
- package/data/export-templates/scriveno-ieee.latex +77 -0
- package/data/export-templates/scriveno-lncs.latex +79 -0
- package/data/export-templates/scriveno-picturebook.typst +113 -0
- package/data/export-templates/scriveno-poetry-submission-styles.md +45 -0
- package/data/export-templates/scriveno-poetry-submission.docx +0 -0
- package/data/export-templates/scriveno-smashwords-styles.md +45 -0
- package/data/export-templates/scriveno-smashwords.docx +0 -0
- package/data/export-templates/scriveno-stageplay.typst +129 -0
- package/data/proof/creative-context/README.md +79 -0
- package/data/proof/voice-dna/GUIDED-SAMPLE.md +19 -0
- package/data/proof/voice-dna/README.md +45 -0
- package/data/proof/voice-dna/STYLE-GUIDE-EXCERPT.md +43 -0
- package/data/proof/voice-dna/UNGUIDED-SAMPLE.md +11 -0
- package/data/proof/watchmaker-flow/README.md +78 -0
- package/docs/architecture.md +425 -0
- package/docs/command-reference.md +2384 -0
- package/docs/configuration.md +228 -0
- package/docs/context-protocol.md +81 -0
- package/docs/contributing.md +430 -0
- package/docs/creative-context.md +158 -0
- package/docs/development.md +152 -0
- package/docs/drafter-quality.md +127 -0
- package/docs/getting-started.md +198 -0
- package/docs/history-protocol.md +96 -0
- package/docs/proof-artifacts.md +56 -0
- package/docs/publishing.md +296 -0
- package/docs/release-notes.md +457 -0
- package/docs/runtime-support.md +77 -0
- package/docs/sacred-texts.md +296 -0
- package/docs/shipped-assets.md +129 -0
- package/docs/testing.md +156 -0
- package/docs/translation.md +343 -0
- package/docs/voice-dna.md +297 -0
- package/docs/work-types.md +339 -0
- package/lib/architectural-profiles.js +134 -0
- package/package.json +54 -0
- package/templates/BRIEF.md +51 -0
- package/templates/CHARACTERS.md +64 -0
- package/templates/CONTEXT.md +56 -0
- package/templates/OUTLINE.md +36 -0
- package/templates/RECORD.md +68 -0
- package/templates/STATE.md +50 -0
- package/templates/STYLE-GUIDE.md +121 -0
- package/templates/THEMES.md +36 -0
- package/templates/WORK.md +67 -0
- package/templates/WORLD.md +62 -0
- package/templates/WRITING-RULES.md +156 -0
- package/templates/academic/ARGUMENT-MAP.md +40 -0
- package/templates/academic/CONCEPTS.md +34 -0
- package/templates/academic/CONTEXT.md +29 -0
- package/templates/academic/PROPOSAL.md +37 -0
- package/templates/academic/QUESTIONS.md +24 -0
- package/templates/config.json +72 -0
- package/templates/pitfalls/comic.md +54 -0
- package/templates/pitfalls/commentary.md +62 -0
- package/templates/pitfalls/memoir.md +48 -0
- package/templates/pitfalls/novel.md +53 -0
- package/templates/pitfalls/poetry_collection.md +63 -0
- package/templates/pitfalls/research_paper.md +66 -0
- package/templates/pitfalls/runbook.md +64 -0
- package/templates/pitfalls/screenplay.md +54 -0
- package/templates/platforms/README.md +16 -0
- package/templates/platforms/apple/manifest.yaml +20 -0
- package/templates/platforms/bn/manifest.yaml +20 -0
- package/templates/platforms/d2d/manifest.yaml +20 -0
- package/templates/platforms/google/manifest.yaml +20 -0
- package/templates/platforms/ingram/manifest.yaml +44 -0
- package/templates/platforms/kdp/manifest.yaml +42 -0
- package/templates/platforms/kobo/manifest.yaml +20 -0
- package/templates/platforms/smashwords/manifest.yaml +26 -0
- package/templates/sacred/COSMOLOGY.md +88 -0
- package/templates/sacred/DOCTRINES.md +45 -0
- package/templates/sacred/FIGURES.md +69 -0
- package/templates/sacred/FRAMEWORK.md +98 -0
- package/templates/sacred/LINEAGES.md +52 -0
- package/templates/sacred/README.md +20 -0
- package/templates/sacred/THEOLOGICAL-ARC.md +69 -0
- package/templates/sacred/catholic/manifest.yaml +93 -0
- package/templates/sacred/islamic-hafs/manifest.yaml +134 -0
- package/templates/sacred/islamic-warsh/manifest.yaml +134 -0
- package/templates/sacred/jewish/manifest.yaml +56 -0
- package/templates/sacred/orthodox/manifest.yaml +98 -0
- package/templates/sacred/pali/manifest.yaml +20 -0
- package/templates/sacred/protestant/manifest.yaml +86 -0
- package/templates/sacred/sanskrit/manifest.yaml +20 -0
- package/templates/sacred/tewahedo/manifest.yaml +106 -0
- package/templates/sacred/tibetan/manifest.yaml +20 -0
- package/templates/technical/AUDIENCE.md +26 -0
- package/templates/technical/DEPENDENCIES.md +19 -0
- package/templates/technical/DOC-BRIEF.md +45 -0
- package/templates/technical/PROCEDURES.md +37 -0
- package/templates/technical/REFERENCES.md +36 -0
- package/templates/technical/SYSTEM.md +25 -0
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Walk the writer through editorial review, manage editor-writer collaboration workflow with proposal reviews, notes, and decision tracking.
|
|
3
|
+
argument-hint: "[N] [--proposal <name> | --notes | --respond <name>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:editor-review -- Manual Read-Through, Quality Review & Editor-Writer Collaboration
|
|
7
|
+
|
|
8
|
+
Walk the writer through their drafted act for acceptance testing. With collaboration flags, manage the full editor-writer workflow: reviewing revision proposals, adding editor notes to specific passages, and responding to editor decisions with full accountability tracking.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:editor-review [N]
|
|
13
|
+
/scr:editor-review --proposal <name>
|
|
14
|
+
/scr:editor-review --notes [unit]
|
|
15
|
+
/scr:editor-review --respond <name>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Instruction
|
|
19
|
+
|
|
20
|
+
You are conducting an editorial review. Load `.manuscript/config.json` for `work_type` and `developer_mode`. Load Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) to check command adaptations. For sacred work types, this command is called 'scholarly-review'. For academic work types, this command is called 'peer-review'. For technical work types, this command is called 'technical-review' and should prioritize factual accuracy, task clarity, audience fit, and unsafe or ambiguous instructions. Use adapted terminology throughout all output.
|
|
21
|
+
|
|
22
|
+
**Mode detection:** If `--proposal`, `--notes`, or `--respond` flags are present, use the corresponding collaboration workflow below. Otherwise, use the standard read-through review (Steps 1-5).
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Standard Review Mode (no collaboration flags)
|
|
27
|
+
|
|
28
|
+
### STEP 1: EXTRACT REVIEWABLE BEATS
|
|
29
|
+
|
|
30
|
+
Load the act's scene plans, drafts, and RECORD.md when present. Also extract each plan's `## Craft Notes`, `## Record Notes`, `## Character Persona Notes`, and `## Subject Dynamics Notes` sections, if present. For each scene, extract the key experiential beats the writer should evaluate:
|
|
31
|
+
|
|
32
|
+
<beat_extraction>
|
|
33
|
+
For each scene, identify 2-4 things the writer should notice when reading:
|
|
34
|
+
- Does the opening hook grab?
|
|
35
|
+
- Does the dialogue feel natural for this character?
|
|
36
|
+
- Does the emotional climax land?
|
|
37
|
+
- Does the pacing feel right?
|
|
38
|
+
- Is the setting vivid enough?
|
|
39
|
+
- Does the ending make you want to keep reading?
|
|
40
|
+
- Does this character's voice sound distinct from others?
|
|
41
|
+
- Is the subtext clear enough without being on-the-nose?
|
|
42
|
+
</beat_extraction>
|
|
43
|
+
|
|
44
|
+
<craft_note_followup>
|
|
45
|
+
For each `CHOICE`, check whether the draft honored the confirmed decision.
|
|
46
|
+
For each `HUNCH`, check whether the creative bet worked on the page.
|
|
47
|
+
For each `QUESTION`, record whether the draft resolved it, kept it productively open, or exposed a blocker.
|
|
48
|
+
For each `WATCHPOINT`, check whether the draft preserved the intended continuity, voice, image, or craft concern.
|
|
49
|
+
</craft_note_followup>
|
|
50
|
+
|
|
51
|
+
<record_followup>
|
|
52
|
+
Check whether the draft honored the relevant established facts, open threads, promises, payoffs, continuity facts, and next-unit obligations from RECORD.md and the plan's Record Notes.
|
|
53
|
+
Record any new reader-visible facts, claims, events, procedures, objects, relationship states, subject movement, or payoffs that should be added to RECORD.md.
|
|
54
|
+
If the draft contradicts RECORD.md, flag the contradiction before marking the unit reviewed.
|
|
55
|
+
</record_followup>
|
|
56
|
+
|
|
57
|
+
<character_persona_followup>
|
|
58
|
+
For each major character in the unit, check whether their persona under pressure held on the page.
|
|
59
|
+
For each important pairing, check whether the relationship-specific interaction stayed true: trust posture, conflict pattern, speech shift, and hidden agenda or fear.
|
|
60
|
+
If the draft changes a character's current state or relationship stance, recommend `/scr:character-touch <name>`.
|
|
61
|
+
</character_persona_followup>
|
|
62
|
+
|
|
63
|
+
<subject_dynamics_followup>
|
|
64
|
+
When Subject Dynamics Notes are present, check whether the active subject moved as planned, even in character-based scenes.
|
|
65
|
+
Confirm that the reader state changed from the planned starting point toward the planned end state.
|
|
66
|
+
Check whether the pressure or friction stayed visible without becoming lecture, filler, or hidden scaffolding.
|
|
67
|
+
For important interactions, check whether the relationship between ideas, evidence, steps, exceptions, images, doctrines, practices, or failure modes stayed true on the page.
|
|
68
|
+
If Character Persona Notes are also present, check whether character behavior and subject movement reinforced each other or fought for focus.
|
|
69
|
+
If Subject Dynamics Notes are absent, still scan for an obvious missing layer: a draft with character motion but no change in meaning, or a subject-driven unit with information but no reader movement. Recommend adding Subject Dynamics Notes in the next plan or running `/scr:subject-touch <subject>` when the draft changed the subject's state.
|
|
70
|
+
</subject_dynamics_followup>
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### STEP 2: GUIDED WALKTHROUGH
|
|
75
|
+
|
|
76
|
+
Present each scene's reviewable beats ONE AT A TIME. For each:
|
|
77
|
+
|
|
78
|
+
1. Show the scene title and a brief reminder of what it covers
|
|
79
|
+
2. Direct the writer to read the scene. Only reference the underlying file path when `developer_mode` is `true`; otherwise use unit and scene labels only.
|
|
80
|
+
3. Ask about each beat:
|
|
81
|
+
- "Works as intended"
|
|
82
|
+
- "Close but needs adjustment" (ask for details)
|
|
83
|
+
- "Not working" (ask what's wrong)
|
|
84
|
+
|
|
85
|
+
Record responses for each beat.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### STEP 3: DIAGNOSE ISSUES
|
|
90
|
+
|
|
91
|
+
For any issues flagged, spawn a diagnostic agent:
|
|
92
|
+
|
|
93
|
+
<diagnostic_agent>
|
|
94
|
+
<role>Revision Analyst</role>
|
|
95
|
+
<task>
|
|
96
|
+
Given the writer's feedback on what's not working:
|
|
97
|
+
1. Identify the root cause (voice issue? pacing? character motivation? structure?)
|
|
98
|
+
2. Propose 2-3 specific revision approaches
|
|
99
|
+
3. Estimate scope of revision (line edit vs. scene rewrite vs. structural change)
|
|
100
|
+
4. Flag any downstream effects (changes that would ripple to other scenes)
|
|
101
|
+
</task>
|
|
102
|
+
</diagnostic_agent>
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
### STEP 4: GENERATE EDITOR NOTES
|
|
107
|
+
|
|
108
|
+
Write the standard review report to `.manuscript/reviews/{N}-REVIEW.md`. If an older project already has root-level `{N}-EDITOR-NOTES.md`, read it as legacy review context, but write the new canonical report under `.manuscript/reviews/`:
|
|
109
|
+
|
|
110
|
+
<editor_notes>
|
|
111
|
+
<section name="overall_assessment">
|
|
112
|
+
How the act reads as a whole. What's working, what's not.
|
|
113
|
+
</section>
|
|
114
|
+
<section name="scene_by_scene">
|
|
115
|
+
For each scene:
|
|
116
|
+
- Beats that passed
|
|
117
|
+
- Issues flagged with diagnosis
|
|
118
|
+
- Proposed revisions
|
|
119
|
+
</section>
|
|
120
|
+
<section name="revision_plans">
|
|
121
|
+
If issues were found, generate targeted revision plans in the same
|
|
122
|
+
format as SCENE-PLAN.md, but scoped to specific fixes.
|
|
123
|
+
These can be re-executed with /scr:draft.
|
|
124
|
+
</section>
|
|
125
|
+
<section name="global_notes">
|
|
126
|
+
Any patterns across scenes (recurring issues, consistent strengths).
|
|
127
|
+
Craft observations the writer should consider for future acts.
|
|
128
|
+
</section>
|
|
129
|
+
<section name="craft_notes_follow_up">
|
|
130
|
+
For each CHOICE, HUNCH, QUESTION, and WATCHPOINT from the plan files,
|
|
131
|
+
record whether it held, worked, resolved, stayed open, or needs revision.
|
|
132
|
+
Keep labels in the review report only. Do not add labels to manuscript prose.
|
|
133
|
+
</section>
|
|
134
|
+
<section name="record_follow_up">
|
|
135
|
+
Record whether this unit honored established facts, handled open threads,
|
|
136
|
+
paid off or deepened promises, and created any new RECORD.md entries.
|
|
137
|
+
If the draft changed the work's established state, list the exact compact
|
|
138
|
+
updates that should be applied to RECORD.md.
|
|
139
|
+
</section>
|
|
140
|
+
<section name="character_persona_follow_up">
|
|
141
|
+
For each relevant character, record whether persona under pressure held,
|
|
142
|
+
whether any persona drift appeared, and whether current state should be
|
|
143
|
+
updated with `/scr:character-touch`.
|
|
144
|
+
</section>
|
|
145
|
+
<section name="relationship_interaction_follow_up">
|
|
146
|
+
For each important pairing, record whether the trust posture, conflict
|
|
147
|
+
pattern, speech shift, and hidden agenda or fear stayed true on the page.
|
|
148
|
+
</section>
|
|
149
|
+
<section name="subject_dynamics_follow_up">
|
|
150
|
+
When Subject Dynamics Notes are present, record whether the reader moved
|
|
151
|
+
as intended, whether the main pressure stayed visible, and whether the key
|
|
152
|
+
interaction between ideas, evidence, steps, exceptions, images, doctrines,
|
|
153
|
+
practices, or failure modes held on the page. If Character Persona Notes
|
|
154
|
+
also appear, record whether the human behavior and subject movement
|
|
155
|
+
reinforced each other or fought for focus.
|
|
156
|
+
If Subject Dynamics Notes are absent but the unit clearly needed them,
|
|
157
|
+
record the missing layer and recommend adding it before the next draft or
|
|
158
|
+
running `/scr:subject-touch <subject>` if the draft already changed a
|
|
159
|
+
tracked subject.
|
|
160
|
+
</section>
|
|
161
|
+
</editor_notes>
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### STEP 5: NEXT STEPS
|
|
166
|
+
|
|
167
|
+
If all beats passed:
|
|
168
|
+
- Mark act as "reviewed" in STATE.md
|
|
169
|
+
- Apply confirmed compact updates to RECORD.md when the review established or corrected the work's durable content state
|
|
170
|
+
- Suggest moving to `/scr:submit N` or `/scr:discuss {N+1}`
|
|
171
|
+
|
|
172
|
+
If revision plans were created:
|
|
173
|
+
- Present the revision scope to the writer
|
|
174
|
+
- Explain that running `/scr:draft N` will use the revision plans
|
|
175
|
+
- Ask if they want to revise now or move on and come back later
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Collaboration Mode: --proposal (Editor Reviews a Revision Proposal)
|
|
180
|
+
|
|
181
|
+
**Purpose:** Editor reviews a revision proposal created by `track propose`, making accept/reject/modify/note decisions on each changed passage. This is the editor side of the editor-writer collaboration workflow.
|
|
182
|
+
|
|
183
|
+
### Prerequisites
|
|
184
|
+
|
|
185
|
+
1. Derive a safe slug from the provided proposal name before touching the filesystem:
|
|
186
|
+
- lowercase the name
|
|
187
|
+
- replace any run of non-alphanumeric characters with `-`
|
|
188
|
+
- trim leading and trailing `-`
|
|
189
|
+
- if the result is empty, stop and ask for a clearer proposal name
|
|
190
|
+
2. Check that `.manuscript/proposals/{slug}-proposal.md` exists. If not: "No proposal found for '[name]'. Create one with `/scr:track propose <name>`."
|
|
191
|
+
3. Read the proposal file to get the list of changed passages.
|
|
192
|
+
|
|
193
|
+
### Workflow
|
|
194
|
+
|
|
195
|
+
1. **Display the proposal summary.** Show the number of passages changed, added, and removed. Show the track name and author.
|
|
196
|
+
|
|
197
|
+
2. **Walk through each changed passage.** For each passage in the proposal's Detailed Changes section, present the before/after content and ask the editor for a decision:
|
|
198
|
+
|
|
199
|
+
- **Accept** -- Mark this change as approved. No modification needed.
|
|
200
|
+
- **Reject** -- Mark this change as rejected. Ask the editor for a reason.
|
|
201
|
+
- **Modify** -- Accept the change but with the editor's modification. Ask the editor to provide their revised version of the passage.
|
|
202
|
+
- **Note** -- Add a comment on this passage without accepting or rejecting. Ask the editor for their note text.
|
|
203
|
+
|
|
204
|
+
3. **Store all decisions** in `.manuscript/proposals/{slug}-decisions.json`:
|
|
205
|
+
|
|
206
|
+
```json
|
|
207
|
+
{
|
|
208
|
+
"proposal": "slug",
|
|
209
|
+
"reviewer": "editor",
|
|
210
|
+
"date": "ISO 8601 timestamp",
|
|
211
|
+
"decisions": [
|
|
212
|
+
{
|
|
213
|
+
"passage": "path/to/file:line_or_unit",
|
|
214
|
+
"action": "accept",
|
|
215
|
+
"reason": null,
|
|
216
|
+
"modification": null
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"passage": "path/to/file:line_or_unit",
|
|
220
|
+
"action": "reject",
|
|
221
|
+
"reason": "This changes the character's motivation in a way that contradicts chapter 2",
|
|
222
|
+
"modification": null
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"passage": "path/to/file:line_or_unit",
|
|
226
|
+
"action": "modify",
|
|
227
|
+
"reason": "Good direction but the phrasing needs work",
|
|
228
|
+
"modification": "The revised passage text with editor's changes"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"passage": "path/to/file:line_or_unit",
|
|
232
|
+
"action": "note",
|
|
233
|
+
"reason": "Consider strengthening the imagery here -- the original has more sensory detail",
|
|
234
|
+
"modification": null
|
|
235
|
+
}
|
|
236
|
+
],
|
|
237
|
+
"summary": {
|
|
238
|
+
"accepted": 0,
|
|
239
|
+
"rejected": 0,
|
|
240
|
+
"modified": 0,
|
|
241
|
+
"noted": 0
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
4. **Generate summary.** After all passages are reviewed:
|
|
247
|
+
```
|
|
248
|
+
Review complete: X accepted, Y rejected, Z modified, W notes added.
|
|
249
|
+
|
|
250
|
+
The writer can review your decisions with `/scr:editor-review --respond <name>`.
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
5. **Save the decisions file.** Keep all proposal artifacts inside `.manuscript/proposals/` using the sanitized slug only. If `developer_mode` is `true` and the writer explicitly asks for git bookkeeping, mention that they can commit the saved proposal artifacts separately. In writer mode, do not surface git commands.
|
|
254
|
+
|
|
255
|
+
### Accountability
|
|
256
|
+
|
|
257
|
+
- Every decision is timestamped and attributed to the reviewer
|
|
258
|
+
- The full proposal text is preserved alongside decisions
|
|
259
|
+
- Rejected changes remain in the track for reference -- nothing is lost
|
|
260
|
+
- The decisions.json file creates a permanent record of editorial judgment
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Collaboration Mode: --notes (Add Editor Notes to Passages)
|
|
265
|
+
|
|
266
|
+
**Purpose:** Editor adds inline notes to specific passages in the current track or canon manuscript. Notes are comments that do not modify the manuscript text -- they are advisory.
|
|
267
|
+
|
|
268
|
+
### Workflow
|
|
269
|
+
|
|
270
|
+
1. **Determine scope.** If a unit number is provided (`--notes 3`), focus on that unit. Otherwise, let the editor browse and select passages across the manuscript.
|
|
271
|
+
|
|
272
|
+
2. **For each note the editor wants to add:**
|
|
273
|
+
- Ask the editor to identify the passage (by unit number and approximate location or by quoting a few words from the passage).
|
|
274
|
+
- Ask the editor for their note text.
|
|
275
|
+
- Store the note.
|
|
276
|
+
|
|
277
|
+
3. **Store notes** in `.manuscript/editor-notes/{unit}-notes.md`. Create the `editor-notes/` directory if it does not exist.
|
|
278
|
+
|
|
279
|
+
Note format:
|
|
280
|
+
```markdown
|
|
281
|
+
# Editor Notes: [Unit Title]
|
|
282
|
+
|
|
283
|
+
## Note 1
|
|
284
|
+
**Passage:** [quoted text or location reference]
|
|
285
|
+
**Date:** [ISO 8601 timestamp]
|
|
286
|
+
[EDITOR NOTE @ passage]: The pacing here feels rushed. Consider expanding the moment
|
|
287
|
+
where the character realizes the truth -- let the reader sit with it.
|
|
288
|
+
|
|
289
|
+
## Note 2
|
|
290
|
+
**Passage:** [quoted text or location reference]
|
|
291
|
+
**Date:** [ISO 8601 timestamp]
|
|
292
|
+
[EDITOR NOTE @ passage]: Beautiful imagery. This is the voice at its strongest.
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
_Notes added by editor. These do not change the manuscript text._
|
|
296
|
+
_Writer can review notes by opening this file or running `/scr:editor-review --notes [unit]` to see them inline._
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
4. **Confirm** after each note is added. When the editor is finished:
|
|
300
|
+
```
|
|
301
|
+
Added N editor notes to [unit/manuscript].
|
|
302
|
+
|
|
303
|
+
Notes are saved in .manuscript/editor-notes/ and visible to the writer.
|
|
304
|
+
Notes do not change the manuscript text -- they are advisory comments.
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
5. **Save the notes.** If `developer_mode` is `true` and the writer explicitly asks for git bookkeeping, mention that the saved editor-notes directory can be committed separately. In writer mode, do not surface git commands.
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Collaboration Mode: --respond (Writer Responds to Editor Decisions)
|
|
312
|
+
|
|
313
|
+
**Purpose:** Writer reviews the editor's accept/reject/modify/note decisions on a proposal and responds. This is the writer's turn in the editor-writer collaboration workflow. The writer has final say.
|
|
314
|
+
|
|
315
|
+
### Prerequisites
|
|
316
|
+
|
|
317
|
+
1. Derive the same sanitized slug from the provided proposal name before touching the filesystem, then check that `.manuscript/proposals/{slug}-decisions.json` exists. If not: "No editor decisions found for '[name]'. The editor needs to review this proposal first with `/scr:editor-review --proposal <name>`."
|
|
318
|
+
|
|
319
|
+
### Workflow
|
|
320
|
+
|
|
321
|
+
1. **Load the decisions file** and the original proposal.
|
|
322
|
+
|
|
323
|
+
2. **Show the editor's summary** first: "Your editor reviewed this proposal: X accepted, Y rejected, Z modified, W notes."
|
|
324
|
+
|
|
325
|
+
3. **Walk through each decision:**
|
|
326
|
+
|
|
327
|
+
For **accepted** changes: Show the change and the editor's approval. Ask the writer:
|
|
328
|
+
- **Agree** -- Apply this change to the manuscript.
|
|
329
|
+
- **Reconsider** -- The writer wants to discuss further (flag for follow-up).
|
|
330
|
+
|
|
331
|
+
For **rejected** changes: Show the change, the editor's reason, and the original passage. Ask the writer:
|
|
332
|
+
- **Accept rejection** -- Keep the original passage. The editor's reasoning stands.
|
|
333
|
+
- **Push back** -- The writer disagrees. Ask for the writer's explanation. Flag for follow-up.
|
|
334
|
+
- **Revise** -- The writer offers a new version that addresses the editor's concern.
|
|
335
|
+
|
|
336
|
+
For **modified** changes: Show the original, the track version, and the editor's modification. Ask the writer:
|
|
337
|
+
- **Accept modification** -- Use the editor's version.
|
|
338
|
+
- **Prefer original track version** -- Use the writer's original change.
|
|
339
|
+
- **New version** -- The writer offers a different take incorporating editor feedback.
|
|
340
|
+
|
|
341
|
+
For **noted** passages: Show the note. Ask the writer:
|
|
342
|
+
- **Acknowledge** -- Note received, no action needed.
|
|
343
|
+
- **Act on it** -- The writer wants to revise based on this note. Ask for the revision.
|
|
344
|
+
|
|
345
|
+
4. **Store the writer's responses** in `.manuscript/proposals/{slug}-responses.json`:
|
|
346
|
+
|
|
347
|
+
```json
|
|
348
|
+
{
|
|
349
|
+
"proposal": "slug",
|
|
350
|
+
"responder": "writer",
|
|
351
|
+
"date": "ISO 8601 timestamp",
|
|
352
|
+
"responses": [
|
|
353
|
+
{
|
|
354
|
+
"passage": "path/to/file:line_or_unit",
|
|
355
|
+
"editor_action": "accept",
|
|
356
|
+
"writer_response": "agree",
|
|
357
|
+
"explanation": null,
|
|
358
|
+
"revision": null
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"passage": "path/to/file:line_or_unit",
|
|
362
|
+
"editor_action": "reject",
|
|
363
|
+
"writer_response": "push_back",
|
|
364
|
+
"explanation": "The motivation shift is intentional -- it's set up in the prologue",
|
|
365
|
+
"revision": null
|
|
366
|
+
}
|
|
367
|
+
],
|
|
368
|
+
"summary": {
|
|
369
|
+
"agreed": 0,
|
|
370
|
+
"accepted_rejections": 0,
|
|
371
|
+
"pushed_back": 0,
|
|
372
|
+
"accepted_modifications": 0,
|
|
373
|
+
"revised": 0,
|
|
374
|
+
"acknowledged_notes": 0,
|
|
375
|
+
"acted_on_notes": 0
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
5. **Apply final decisions.** After all responses are processed:
|
|
381
|
+
- Changes that are agreed/accepted: apply via merge from the track.
|
|
382
|
+
- Modifications accepted: apply the editor's modified text.
|
|
383
|
+
- New writer revisions: apply the writer's new version.
|
|
384
|
+
- Rejected changes (writer accepted rejection): skip, leave original.
|
|
385
|
+
- Push-backs: flag for follow-up conversation, do not apply.
|
|
386
|
+
|
|
387
|
+
6. **Generate accountability summary:**
|
|
388
|
+
```
|
|
389
|
+
Response complete:
|
|
390
|
+
- X changes applied (agreed + accepted modifications)
|
|
391
|
+
- Y changes skipped (accepted rejections)
|
|
392
|
+
- Z items flagged for follow-up (push-backs)
|
|
393
|
+
- W notes acknowledged, V acted upon
|
|
394
|
+
|
|
395
|
+
Full decision trail saved with the proposal artifacts.
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
7. **Save responses and any applied changes.** If `developer_mode` is `true` and the writer explicitly asks for git bookkeeping, mention that the saved proposal artifacts and accepted manuscript changes can be committed separately. In writer mode, do not surface git commands.
|
|
399
|
+
|
|
400
|
+
### Decision Trail for Accountability
|
|
401
|
+
|
|
402
|
+
The full editor-writer collaboration produces three artifacts per proposal:
|
|
403
|
+
- `{slug}-proposal.md` -- The original revision proposal (what changed)
|
|
404
|
+
- `{slug}-decisions.json` -- The editor's decisions (accept/reject/modify/note)
|
|
405
|
+
- `{slug}-responses.json` -- The writer's responses (agree/push-back/revise)
|
|
406
|
+
|
|
407
|
+
Together these form a complete accountability trail. Neither party's work is lost. Rejected changes remain in the revision track. Push-backs are preserved for future discussion. Every decision is timestamped and attributed.
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## Writer-Friendly Language Guide
|
|
412
|
+
|
|
413
|
+
This command uses writer-friendly terminology throughout:
|
|
414
|
+
|
|
415
|
+
| Technical Term | Writer Term |
|
|
416
|
+
|----------------|-------------|
|
|
417
|
+
| diff | tracked changes |
|
|
418
|
+
| merge | apply changes |
|
|
419
|
+
| branch | revision track |
|
|
420
|
+
| pull request | revision proposal |
|
|
421
|
+
| code review | editorial review |
|
|
422
|
+
| approve/merge | accept changes |
|
|
423
|
+
| request changes | editor notes |
|
|
424
|
+
| LGTM | approved |
|
|
425
|
+
|
|
426
|
+
## Error Messages
|
|
427
|
+
|
|
428
|
+
- "No proposal found for '[name]'. Create one with `/scr:track propose <name>`."
|
|
429
|
+
- "No editor decisions found for '[name]'. The editor needs to review this proposal first with `/scr:editor-review --proposal <name>`."
|
|
430
|
+
- "No editor notes found for this unit."
|
|
431
|
+
|
|
432
|
+
## OUTPUT
|
|
433
|
+
|
|
434
|
+
**Standard review mode:**
|
|
435
|
+
- `.manuscript/reviews/{N}-REVIEW.md`
|
|
436
|
+
- Revision plans (if needed): `.manuscript/plans/{N}-{A}-REVISION-PLAN.md`
|
|
437
|
+
- Updated `STATE.md`
|
|
438
|
+
|
|
439
|
+
**Collaboration mode:**
|
|
440
|
+
- `{slug}-decisions.json` (editor's decisions via --proposal)
|
|
441
|
+
- `{unit}-notes.md` in `editor-notes/` (editor notes via --notes)
|
|
442
|
+
- `{slug}-responses.json` (writer's responses via --respond)
|
|
443
|
+
- Applied changes to manuscript (via --respond when changes are accepted)
|
|
444
|
+
|
|
445
|
+
## Response Contract
|
|
446
|
+
|
|
447
|
+
Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
|
|
448
|
+
|
|
449
|
+
Use this format:
|
|
450
|
+
|
|
451
|
+
```markdown
|
|
452
|
+
Next commands:
|
|
453
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
454
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
|
|
458
|
+
|
|
459
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
460
|
+
|
|
461
|
+
```markdown
|
|
462
|
+
Next commands:
|
|
463
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|