@hobin/developer 0.1.5 → 0.1.6

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/README.md CHANGED
@@ -129,12 +129,20 @@ Developer uses different Pi surfaces for different information:
129
129
 
130
130
  - The footer contains only global mode, protocol state, and current route target.
131
131
  - A compact widget appears only while a route or unresolved question exists.
132
- - `/develop` uses a `SelectList` action menu.
132
+ - `/develop` uses a `SelectList` action menu that exposes pending questions directly instead of hiding them behind a second question menu.
133
133
  - `/develop status` opens a branch-grounded, read-only status panel with recent
134
134
  route/judgment history and the alternatives recorded for consecutive direct work.
135
- - `/develop questions` uses stable internal question IDs. Selecting one opens an
136
- answer/evidence editor and submits the resulting resolution request to Pi;
137
- cancelling the editor leaves protocol state unchanged.
135
+ - `/develop questions` uses stable internal question IDs. A sole question opens
136
+ directly; multiple questions use one selector before the answer/evidence editor.
137
+ Editor Escape returns to the previous root or multi-question selector; a sole
138
+ direct editor closes because it has no parent selector. Cancelling leaves
139
+ protocol state unchanged, while submitting sends the resolution request to Pi.
140
+ - A newly opened, answerable user question that gates direct work is pushed to the
141
+ TUI immediately. The user can answer now or leave it open. When the question
142
+ supplies a `choice-form` `responseSpec`, Answer now renders every required
143
+ decision as an individual option control, collects option-specific detail, and
144
+ provides a review/edit step before submission. The answer still requires a
145
+ focused judgment and explicit `question_updates` resolution.
138
146
  - Selection and status overlays use most of the terminal, keep a stable rendered
139
147
  height while navigating or scrolling, and remain bounded on small terminals.
140
148
  They support mouse-wheel/trackpad scrolling, arrow keys, Page Up/Down, and
@@ -170,13 +178,24 @@ question records:
170
178
 
171
179
  - `resolutionOwner`: `agent`, `user`, or `environment`;
172
180
  - `gate`: `none`, `before-direct`, or `before-completion`;
173
- - `resolutionCriteria`: the observable evidence or answer that closes it.
174
-
175
- Selecting `/develop questions` opens an owner-specific editor: user questions
176
- ask for the required decision, agent questions ask Pi to investigate, and
177
- environment questions request access or an external observation. Submitting the
178
- editor focuses the question in branch state; an explicit ID, focus, or exact
179
- question match associates the next route. Selection alone never closes it.
181
+ - `resolutionCriteria`: the observable evidence or answer that closes it;
182
+ - optional `context`: detailed Markdown choices, examples, or constraints shown
183
+ when the question is revisited without repeating that detail in every protocol prompt;
184
+ - optional user-owned `responseSpec`: a bounded `choice-form` with required
185
+ single-choice fields and optional per-option detail prompts.
186
+
187
+ A producer should use `response_spec` when a user must answer finite decisions
188
+ such as A, B1–B4, C, and so on. Each decision becomes one field; the TUI does not
189
+ infer controls by parsing Markdown. Options such as A3 or G3 that need additional
190
+ input declare `detail_prompt`. Missing or malformed replay data falls back to the
191
+ freeform editor without dropping the pending question.
192
+
193
+ Selecting `/develop questions` opens structured controls when a valid user
194
+ `responseSpec` exists. Otherwise it opens the owner-specific editor: user
195
+ questions ask for the required decision, agent questions ask Pi to investigate,
196
+ and environment questions request access or an external observation. Submitting
197
+ focuses the question in branch state; an explicit ID, focus, or exact question
198
+ match associates the next route. Selection alone never closes it.
180
199
 
181
200
  Every judgment rechecks all pending questions. `question_updates` can resolve an
182
201
  unfocused question when implementation, tests, inspection, user input, or an
@@ -190,6 +209,11 @@ routes and Pi built-in mutation tools even in adaptive mode. A
190
209
  the protocol non-idle and prevents verification debt from being cleared as a
191
210
  completion claim.
192
211
 
212
+ A resolved or not-applicable judgment may preserve a distinct follow-up question:
213
+ finishing the routed judgment does not imply that no later work was discovered.
214
+ It may not reopen its own normalized question under a resolved status; that route
215
+ must remain needs-evidence/blocked or explicitly refine a focused parent instead.
216
+
193
217
  When a judgment replaces a broad unresolved question with more specific evidence
194
218
  questions, only the actionable children remain. Equivalent question wording is
195
219
  deduplicated while preserving the existing identity.