@longtable/provider-codex 0.1.41 → 0.1.42
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/dist/skills.js +27 -2
- package/package.json +4 -4
package/dist/skills.js
CHANGED
|
@@ -83,6 +83,7 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
83
83
|
"- If a checkpoint allows `other`, make `other` visible instead of hiding it in state.",
|
|
84
84
|
"- Treat provider-native question UI as transport; LongTable state records are the source of truth.",
|
|
85
85
|
"- For `$longtable-interview`, use natural-language turns for the interview and reserve MCP option UI for the final research-facing First Research Shape checkpoint.",
|
|
86
|
+
"- Do not let unrelated pending Researcher Checkpoints interrupt the interview. Mention them only as separate unresolved checkpoints, and treat them as blocking only when the researcher is confirming, saving, or recording a research decision.",
|
|
86
87
|
"- When the `mcp__longtable_state__.elicit_question` tool is available, use it first for researcher checkpoints so Codex can show the MCP elicitation UI and LongTable can record the answer as `mcp_elicitation`.",
|
|
87
88
|
"- Use `longtable question --print --provider codex --prompt \"...\"` only as a fallback when the MCP tool is unavailable, unsupported, declined, canceled, or blocked by the client.",
|
|
88
89
|
"- If `CURRENT.md` shows a pending required checkpoint, ask the researcher for a selection and wait. Do not choose or record `longtable decide --question <id> --answer <value>` unless the researcher explicitly provides that value.",
|
|
@@ -112,9 +113,10 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
112
113
|
"4. Ask one natural-language question at a time. Do not show a questionnaire.",
|
|
113
114
|
"5. After each answer, evaluate answer quality before classifying it.",
|
|
114
115
|
"6. Record each turn with MCP `append_interview_turn` when available.",
|
|
115
|
-
"7. Continue until there is
|
|
116
|
+
"7. Continue until there is content-based readiness for a provisional `first_research_handle`; never stop merely because a fixed number of turns has passed.",
|
|
116
117
|
"8. Store the First Research Shape with MCP `summarize_interview`.",
|
|
117
118
|
"9. Use MCP `confirm_first_research_shape` for the final research-facing option UI checkpoint.",
|
|
119
|
+
"10. If the researcher explicitly cancels the interview, use MCP `cancel_interview` when available. Do not cancel durable state for a casual topic change unless the researcher says to cancel the interview.",
|
|
118
120
|
"",
|
|
119
121
|
"## Opening Questions",
|
|
120
122
|
"",
|
|
@@ -131,8 +133,10 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
131
133
|
"- Keep the visual frame minimal, using `LongTable hears:` and `Question:`.",
|
|
132
134
|
"- Reflect the answer before asking the next question.",
|
|
133
135
|
"- Ask one question only; wait for the researcher before continuing.",
|
|
136
|
+
"- Keep the follow-up focused on one main uncertainty. A sentence may name nearby tensions for context, but avoid bundling several answerable questions into a mini-questionnaire.",
|
|
134
137
|
"- If the answer is thin, ask for one more sentence instead of classifying it.",
|
|
135
138
|
"- Treat one-word or one-letter answers as `quality: thin` and request more context.",
|
|
139
|
+
"- Keep hook-added context out of normal replies unless it changes the next research action.",
|
|
136
140
|
"",
|
|
137
141
|
"Recommended frame:",
|
|
138
142
|
"",
|
|
@@ -152,6 +156,25 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
152
156
|
"",
|
|
153
157
|
"Do not turn early answers into fixed categories. Let LongTable infer quietly in the background.",
|
|
154
158
|
"",
|
|
159
|
+
"## Turn Recording",
|
|
160
|
+
"",
|
|
161
|
+
"`append_interview_turn` records the durable interview trace in `.longtable/state.json`: the question asked, the researcher answer, a short reflection, answer quality, whether a follow-up is needed, and any content-based readiness rationale. If MCP tools are unavailable, continue the interview but say that this durable turn was not written.",
|
|
162
|
+
"",
|
|
163
|
+
"Do not set `readyToSummarize: true` because of turn count. Set it only when the answer history supports the closure-readiness criteria below.",
|
|
164
|
+
"",
|
|
165
|
+
"## Closure Readiness",
|
|
166
|
+
"",
|
|
167
|
+
"End the interview only when the conversation has enough material to support later research work:",
|
|
168
|
+
"",
|
|
169
|
+
"- research object: what kind of artifact or study decision LongTable is shaping",
|
|
170
|
+
"- focal uncertainty: what remains hard to name, justify, or inspect",
|
|
171
|
+
"- construct or boundary: what should count and what should not count",
|
|
172
|
+
"- evidence/material: where the first inspection will happen",
|
|
173
|
+
"- protected decision: what LongTable must not settle silently",
|
|
174
|
+
"- next action: the next concrete research move",
|
|
175
|
+
"",
|
|
176
|
+
"Some projects may need two turns; others may need ten or more. If these elements are still vague, ask another natural-language question instead of summarizing.",
|
|
177
|
+
"",
|
|
155
178
|
"## First Research Shape",
|
|
156
179
|
"",
|
|
157
180
|
"When ready, summarize:",
|
|
@@ -166,7 +189,9 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
166
189
|
"- `nextAction`: one concrete next research move",
|
|
167
190
|
"- `confidence`: low, medium, or high",
|
|
168
191
|
"",
|
|
169
|
-
"The final structured options belong only at this confirmation point. If MCP elicitation is unavailable, ask the same options in plain text and keep the state update explicit.",
|
|
192
|
+
"The final structured options belong only at this confirmation point. Show the options in the researcher's current language when possible, usually: save/confirm, ask one more question, revise, or keep open. If MCP elicitation is unavailable, ask the same options in plain text and keep the state update explicit.",
|
|
193
|
+
"",
|
|
194
|
+
"If a confirmed First Research Shape already exists, do not reopen the interview automatically. Summarize the existing shape and ask whether to continue from it, revise it, or explicitly start a new interview.",
|
|
170
195
|
"",
|
|
171
196
|
"## Fallback",
|
|
172
197
|
"",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@longtable/provider-codex",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.42",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Codex adapter surface for LongTable",
|
|
6
6
|
"type": "module",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@longtable/checkpoints": "0.1.
|
|
19
|
-
"@longtable/core": "0.1.
|
|
20
|
-
"@longtable/setup": "0.1.
|
|
18
|
+
"@longtable/checkpoints": "0.1.42",
|
|
19
|
+
"@longtable/core": "0.1.42",
|
|
20
|
+
"@longtable/setup": "0.1.42"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/node": "^22.10.1",
|