@longtable/provider-codex 0.1.44 → 0.1.47

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.
Files changed (2) hide show
  1. package/dist/skills.js +14 -12
  2. package/package.json +4 -4
package/dist/skills.js CHANGED
@@ -94,7 +94,9 @@ 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 Research Specification checkpoint, with First Research Shape kept as the shorter handle layer.",
97
+ "- For systematic review, meta-analysis, PDF collection, full-text extraction, institutionally licensed sources, or TDM work, ensure `longtable access setup` readiness exists or surface an ACCESS CHECKPOINT before continuing.",
98
+ "- Access setup records capability status only. The researcher handles VPN/proxy/library/SSO login directly; LongTable must not store passwords, API keys, tokens, PDFs, or full text in setup state.",
99
+ "- For `$longtable-interview`, use natural-language turns for the interview and reserve MCP option UI for the final research-facing Research Specification checkpoint; First Research Shape is only a shorter handle/resume layer.",
98
100
  "- 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
101
  "- 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
102
  "- 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 +107,7 @@ function baseSkillSpecs(surface = "compact") {
105
107
  },
106
108
  {
107
109
  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 and Research Specification through MCP/state.",
110
+ description: "Use for `$longtable-interview`: create or continue a LongTable research-start interview inside Codex, then store a Research Specification through MCP/state, with First Research Shape kept as an optional short handle layer.",
109
111
  body: [
110
112
  "## Purpose",
111
113
  "",
@@ -115,7 +117,7 @@ function baseSkillSpecs(surface = "compact") {
115
117
  "",
116
118
  "- The user invokes `$longtable-interview`.",
117
119
  "- 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 or Research Specification.",
120
+ "- A workspace exists but `CURRENT.md` or `.longtable/state.json` lacks a usable Research Specification, or has only a First Research Shape.",
119
121
  "",
120
122
  "## Core Flow",
121
123
  "",
@@ -125,9 +127,9 @@ function baseSkillSpecs(surface = "compact") {
125
127
  "4. Ask one natural-language question at a time. Do not show a questionnaire.",
126
128
  "5. After each answer, evaluate answer quality before classifying it.",
127
129
  "6. Record each turn with MCP `append_interview_turn` when available.",
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
- "8. Store the First Research Shape with MCP `summarize_interview`.",
130
- "9. Store the fuller Research Specification with MCP `summarize_research_specification` when the interview has enough detail.",
130
+ "7. Continue until there is content-based readiness for a Research Specification; never stop merely because a fixed number of turns has passed.",
131
+ "8. Store a First Research Shape with MCP `summarize_interview` when a short resume handle is useful, but do not treat it as closure.",
132
+ "9. Store the fuller Research Specification with MCP `summarize_research_specification` when the interview has enough detail. If enough detail already exists, go directly to this step after or instead of the shape handle.",
131
133
  "10. Show the Research Specification Preview explicitly before asking for confirmation.",
132
134
  "11. Use MCP `confirm_research_specification` for the final research-facing option UI checkpoint.",
133
135
  "12. Use MCP `confirm_first_research_shape` only when the researcher wants to stop at the shorter shape layer.",
@@ -179,7 +181,7 @@ function baseSkillSpecs(surface = "compact") {
179
181
  "",
180
182
  "## Closure Readiness",
181
183
  "",
182
- "End the interview only when the conversation has enough material to support later research work:",
184
+ "End the interview only when the conversation has enough material to support a Research Specification for later work:",
183
185
  "",
184
186
  "- research object: what kind of artifact or study decision LongTable is shaping",
185
187
  "- focal uncertainty: what remains hard to name, justify, or inspect",
@@ -204,11 +206,11 @@ function baseSkillSpecs(surface = "compact") {
204
206
  "- `nextAction`: one concrete next research move",
205
207
  "- `confidence`: low, medium, or high",
206
208
  "",
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.",
209
+ "The First Research Shape is the short handle/resume layer. It is useful for early context, but it is not the full research specification and must not be treated as the default endpoint.",
208
210
  "",
209
211
  "## Research Specification",
210
212
  "",
211
- "Before ending a substantive interview, convert the First Research Shape into a fuller Research Specification when the conversation provides enough material:",
213
+ "Before ending a substantive interview, create or update a fuller Research Specification when the conversation provides enough material. A First Research Shape can feed this step, but it is not required when the specification fields are already clear:",
212
214
  "",
213
215
  "- `title`: working specification title",
214
216
  "- `researchDirection`: question, purpose, scope boundary, inclusion/exclusion criteria",
@@ -216,13 +218,13 @@ function baseSkillSpecs(surface = "compact") {
216
218
  "- `theoryAndFraming`: theory anchors, alternatives, and overreach risks",
217
219
  "- `measurementCoding`: variables/constructs, evidence types, coding rules, and open standards",
218
220
  "- `methodAnalysis`: design, analysis options, data sufficiency criteria, and unsettled choices",
219
- "- `evidenceAccess`: required sources, access requirements, and evidence standards",
221
+ "- `evidenceAccess`: required sources, Corpus and Access Plan, full-text/PDF route, TDM or institutional-access requirements, and evidence standards",
220
222
  "- `epistemicAlignment`: researcher knowledge, project-state priority, AI inference limits, and the conflict-resolution rule",
221
223
  "- `protectedDecisions`, `openQuestions`, `nextActions`, and `confidence`",
222
224
  "",
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.",
225
+ "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 the researcher chooses ask one more question or revise a section, answer that gap and then return to the Research Specification Preview before ending. If MCP elicitation is unavailable, ask the same options in plain text and keep the state update explicit.",
224
226
  "",
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.",
227
+ "If a confirmed First Research Shape already exists but no Research Specification exists, continue directly into the next Research Specification question or preview. Ask continue/revise/restart only when the researcher explicitly wants to change the short handle or restart the interview.",
226
228
  "",
227
229
  "## Fallback",
228
230
  "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longtable/provider-codex",
3
- "version": "0.1.44",
3
+ "version": "0.1.47",
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.44",
19
- "@longtable/core": "0.1.44",
20
- "@longtable/setup": "0.1.44"
18
+ "@longtable/checkpoints": "0.1.47",
19
+ "@longtable/core": "0.1.47",
20
+ "@longtable/setup": "0.1.47"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^22.10.1",