@longtable/provider-codex 0.1.43 → 0.1.44
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 +26 -7
- package/package.json +4 -4
package/dist/skills.js
CHANGED
|
@@ -94,7 +94,7 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
94
94
|
"- If a Researcher Checkpoint is needed, ask a concise question with meaningful options and wait for the researcher.",
|
|
95
95
|
"- If a checkpoint allows `other`, make `other` visible instead of hiding it in state.",
|
|
96
96
|
"- Treat provider-native question UI as transport; LongTable state records are the source of truth.",
|
|
97
|
-
"- For `$longtable-interview`, use natural-language turns for the interview and reserve MCP option UI for the final research-facing First Research Shape
|
|
97
|
+
"- For `$longtable-interview`, use natural-language turns for the interview and reserve MCP option UI for the final research-facing Research Specification checkpoint, with First Research Shape kept as the shorter handle layer.",
|
|
98
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.",
|
|
99
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`.",
|
|
100
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.",
|
|
@@ -105,7 +105,7 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
name: "longtable-interview",
|
|
108
|
-
description: "Use for `$longtable-interview`: create or continue a LongTable research-start interview inside Codex, then store a First Research Shape through MCP/state.",
|
|
108
|
+
description: "Use for `$longtable-interview`: create or continue a LongTable research-start interview inside Codex, then store a First Research Shape and Research Specification through MCP/state.",
|
|
109
109
|
body: [
|
|
110
110
|
"## Purpose",
|
|
111
111
|
"",
|
|
@@ -115,7 +115,7 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
115
115
|
"",
|
|
116
116
|
"- The user invokes `$longtable-interview`.",
|
|
117
117
|
"- The user wants to start a LongTable research workspace from inside Codex.",
|
|
118
|
-
"- A workspace exists but `CURRENT.md` or `.longtable/state.json` lacks a usable First Research Shape.",
|
|
118
|
+
"- A workspace exists but `CURRENT.md` or `.longtable/state.json` lacks a usable First Research Shape or Research Specification.",
|
|
119
119
|
"",
|
|
120
120
|
"## Core Flow",
|
|
121
121
|
"",
|
|
@@ -127,8 +127,11 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
127
127
|
"6. Record each turn with MCP `append_interview_turn` when available.",
|
|
128
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.",
|
|
129
129
|
"8. Store the First Research Shape with MCP `summarize_interview`.",
|
|
130
|
-
"9.
|
|
131
|
-
"10.
|
|
130
|
+
"9. Store the fuller Research Specification with MCP `summarize_research_specification` when the interview has enough detail.",
|
|
131
|
+
"10. Show the Research Specification Preview explicitly before asking for confirmation.",
|
|
132
|
+
"11. Use MCP `confirm_research_specification` for the final research-facing option UI checkpoint.",
|
|
133
|
+
"12. Use MCP `confirm_first_research_shape` only when the researcher wants to stop at the shorter shape layer.",
|
|
134
|
+
"13. 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.",
|
|
132
135
|
"",
|
|
133
136
|
"## Opening Questions",
|
|
134
137
|
"",
|
|
@@ -201,13 +204,29 @@ function baseSkillSpecs(surface = "compact") {
|
|
|
201
204
|
"- `nextAction`: one concrete next research move",
|
|
202
205
|
"- `confidence`: low, medium, or high",
|
|
203
206
|
"",
|
|
204
|
-
"The
|
|
207
|
+
"The First Research Shape is the short handle layer. It is useful for early resume context, but it is not the full research specification.",
|
|
208
|
+
"",
|
|
209
|
+
"## Research Specification",
|
|
210
|
+
"",
|
|
211
|
+
"Before ending a substantive interview, convert the First Research Shape into a fuller Research Specification when the conversation provides enough material:",
|
|
212
|
+
"",
|
|
213
|
+
"- `title`: working specification title",
|
|
214
|
+
"- `researchDirection`: question, purpose, scope boundary, inclusion/exclusion criteria",
|
|
215
|
+
"- `constructOntology`: core constructs, distinctions, and terms that should not be collapsed",
|
|
216
|
+
"- `theoryAndFraming`: theory anchors, alternatives, and overreach risks",
|
|
217
|
+
"- `measurementCoding`: variables/constructs, evidence types, coding rules, and open standards",
|
|
218
|
+
"- `methodAnalysis`: design, analysis options, data sufficiency criteria, and unsettled choices",
|
|
219
|
+
"- `evidenceAccess`: required sources, access requirements, and evidence standards",
|
|
220
|
+
"- `epistemicAlignment`: researcher knowledge, project-state priority, AI inference limits, and the conflict-resolution rule",
|
|
221
|
+
"- `protectedDecisions`, `openQuestions`, `nextActions`, and `confidence`",
|
|
222
|
+
"",
|
|
223
|
+
"Show a clear `Research Specification Preview` in the researcher's current language before confirmation. Then call `confirm_research_specification`, whose structured options should usually be: save/confirm, ask one more question, revise a section, or keep open. If MCP elicitation is unavailable, ask the same options in plain text and keep the state update explicit.",
|
|
205
224
|
"",
|
|
206
225
|
"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.",
|
|
207
226
|
"",
|
|
208
227
|
"## Fallback",
|
|
209
228
|
"",
|
|
210
|
-
"If MCP tools are unavailable, continue the natural-language interview in Codex, but state that durable LongTable state could not be written. Do not pretend a checkpoint
|
|
229
|
+
"If MCP tools are unavailable, continue the natural-language interview in Codex, but state that durable LongTable state could not be written. Do not pretend a checkpoint, First Research Shape, or Research Specification was recorded."
|
|
211
230
|
]
|
|
212
231
|
}
|
|
213
232
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@longtable/provider-codex",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.44",
|
|
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.44",
|
|
19
|
+
"@longtable/core": "0.1.44",
|
|
20
|
+
"@longtable/setup": "0.1.44"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/node": "^22.10.1",
|