@longtable/provider-codex 0.1.41 → 0.1.43
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 +39 -2
- package/package.json +4 -4
package/dist/skills.js
CHANGED
|
@@ -67,6 +67,9 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
67
67
|
"- The compact visible shortcut set is methods, measure, theory, reviewer, and voice. Other roles remain available through this router when the request calls for them.",
|
|
68
68
|
"- When research responsibility is about to shift, surface a Researcher Checkpoint before closure.",
|
|
69
69
|
"- When changing LongTable product language, README positioning, or checkpoint policy, surface a Meta-Decision Checkpoint first.",
|
|
70
|
+
"- Stop before acting when the request would change the research question/scope, theory frame, measurement/coding standard, method design, or analysis strategy.",
|
|
71
|
+
"- For low-risk reversible work, proceed with explicit assumptions instead of interrupting.",
|
|
72
|
+
"- For LongTable product, hook, setup, release, or documentation work, do not create research-state QuestionRecords.",
|
|
70
73
|
"",
|
|
71
74
|
"## Panel And Team Behavior",
|
|
72
75
|
"",
|
|
@@ -74,6 +77,15 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
74
77
|
"- Use provider-native subagents only when the current Codex runtime makes them available and the user's request clearly calls for multi-agent work.",
|
|
75
78
|
"- If native subagents are unavailable, use LongTable's sequential panel fallback and make the fallback explicit in the technical record.",
|
|
76
79
|
"- Do not expose hidden reasoning, tool logs, or private chain-of-thought. Expose a structured deliberation record instead.",
|
|
80
|
+
"- A structured deliberation record must include: roles consulted, each role's main claim or objection, the disagreement map, the decision options, the recommended option when defensible, and the exact researcher-facing question.",
|
|
81
|
+
"- If the panel converges, explain what changed the disagreement; if it does not converge, preserve the unresolved conflict instead of collapsing it into one confident synthesis.",
|
|
82
|
+
"",
|
|
83
|
+
"## Question Ordering",
|
|
84
|
+
"",
|
|
85
|
+
"- Ask and stop when missing context would decide a high-risk research commitment.",
|
|
86
|
+
"- Continue with stated assumptions when the missing context is low-risk, reversible, or purely presentational.",
|
|
87
|
+
"- Rank questions by importance and risk; prefer one grouped high-leverage question over a long questionnaire.",
|
|
88
|
+
"- When human knowledge, AI inference, and project state conflict, make the conflict visible and ask for human clarity before treating the direction as settled.",
|
|
77
89
|
"",
|
|
78
90
|
"## Project State",
|
|
79
91
|
"",
|
|
@@ -83,6 +95,7 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
83
95
|
"- If a checkpoint allows `other`, make `other` visible instead of hiding it in state.",
|
|
84
96
|
"- Treat provider-native question UI as transport; LongTable state records are the source of truth.",
|
|
85
97
|
"- For `$longtable-interview`, use natural-language turns for the interview and reserve MCP option UI for the final research-facing First Research Shape checkpoint.",
|
|
98
|
+
"- 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
99
|
"- 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
100
|
"- 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
101
|
"- 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 +125,10 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
112
125
|
"4. Ask one natural-language question at a time. Do not show a questionnaire.",
|
|
113
126
|
"5. After each answer, evaluate answer quality before classifying it.",
|
|
114
127
|
"6. Record each turn with MCP `append_interview_turn` when available.",
|
|
115
|
-
"7. Continue until there is
|
|
128
|
+
"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
129
|
"8. Store the First Research Shape with MCP `summarize_interview`.",
|
|
117
130
|
"9. Use MCP `confirm_first_research_shape` for the final research-facing option UI checkpoint.",
|
|
131
|
+
"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
132
|
"",
|
|
119
133
|
"## Opening Questions",
|
|
120
134
|
"",
|
|
@@ -131,8 +145,10 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
131
145
|
"- Keep the visual frame minimal, using `LongTable hears:` and `Question:`.",
|
|
132
146
|
"- Reflect the answer before asking the next question.",
|
|
133
147
|
"- Ask one question only; wait for the researcher before continuing.",
|
|
148
|
+
"- 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
149
|
"- If the answer is thin, ask for one more sentence instead of classifying it.",
|
|
135
150
|
"- Treat one-word or one-letter answers as `quality: thin` and request more context.",
|
|
151
|
+
"- Keep hook-added context out of normal replies unless it changes the next research action.",
|
|
136
152
|
"",
|
|
137
153
|
"Recommended frame:",
|
|
138
154
|
"",
|
|
@@ -152,6 +168,25 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
152
168
|
"",
|
|
153
169
|
"Do not turn early answers into fixed categories. Let LongTable infer quietly in the background.",
|
|
154
170
|
"",
|
|
171
|
+
"## Turn Recording",
|
|
172
|
+
"",
|
|
173
|
+
"`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.",
|
|
174
|
+
"",
|
|
175
|
+
"Do not set `readyToSummarize: true` because of turn count. Set it only when the answer history supports the closure-readiness criteria below.",
|
|
176
|
+
"",
|
|
177
|
+
"## Closure Readiness",
|
|
178
|
+
"",
|
|
179
|
+
"End the interview only when the conversation has enough material to support later research work:",
|
|
180
|
+
"",
|
|
181
|
+
"- research object: what kind of artifact or study decision LongTable is shaping",
|
|
182
|
+
"- focal uncertainty: what remains hard to name, justify, or inspect",
|
|
183
|
+
"- construct or boundary: what should count and what should not count",
|
|
184
|
+
"- evidence/material: where the first inspection will happen",
|
|
185
|
+
"- protected decision: what LongTable must not settle silently",
|
|
186
|
+
"- next action: the next concrete research move",
|
|
187
|
+
"",
|
|
188
|
+
"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.",
|
|
189
|
+
"",
|
|
155
190
|
"## First Research Shape",
|
|
156
191
|
"",
|
|
157
192
|
"When ready, summarize:",
|
|
@@ -166,7 +201,9 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
166
201
|
"- `nextAction`: one concrete next research move",
|
|
167
202
|
"- `confidence`: low, medium, or high",
|
|
168
203
|
"",
|
|
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.",
|
|
204
|
+
"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.",
|
|
205
|
+
"",
|
|
206
|
+
"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
207
|
"",
|
|
171
208
|
"## Fallback",
|
|
172
209
|
"",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@longtable/provider-codex",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.43",
|
|
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.43",
|
|
19
|
+
"@longtable/core": "0.1.43",
|
|
20
|
+
"@longtable/setup": "0.1.43"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/node": "^22.10.1",
|