@longtable/provider-codex 0.1.65 → 0.1.67

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 +32 -30
  2. package/package.json +4 -4
package/dist/skills.js CHANGED
@@ -57,8 +57,8 @@ function baseSkillSpecs(surface = "compact") {
57
57
  "- `$longtable: use editor, reviewer, methods, measurement, and voice perspectives as a panel to evaluate this manuscript section. Do not collapse disagreement too early.`",
58
58
  "- `$longtable-methods`, `$longtable-measure`, `$longtable-theory`, `$longtable-reviewer`, or `$longtable-voice` when the researcher explicitly wants that shortcut.",
59
59
  "- `$longtable-start` to create or continue the first research-start interview.",
60
- "- `$longtable-interview` to run a structured follow-up interview after a Research Specification exists.",
61
- "- `$critical-interview` for a relentless LongTable interview that sharpens a research plan, argument, method, or product decision.",
60
+ "- `$longtable-interview` to run a LongTable grilling interview with one high-leverage question and a recommended answer at a time.",
61
+ "- `$critical-interview` as a compatibility alias for `$longtable-interview`.",
62
62
  "- `$scholar-research` for scholarly evidence recovery, citation-slot research, and legal full-text readiness.",
63
63
  "",
64
64
  "## Routing Rules",
@@ -67,7 +67,7 @@ function baseSkillSpecs(surface = "compact") {
67
67
  "- `lt review` starts with the strongest weakness, objection, or missing evidence.",
68
68
  "- `lt panel` creates a visible multi-role review with synthesis, role opinions, conflict summary, and a decision prompt.",
69
69
  "- `$longtable-start` runs the provider-native LongTable start interview. It replaces the old CLI start questionnaire as the primary research-start surface.",
70
- "- `$longtable-interview` is post-start. If `.longtable/state.json` or `CURRENT.md` lacks a usable Research Specification, route to `$longtable-start` before offering option-first follow-up choices.",
70
+ "- `$longtable-interview` is the grilling interview surface. It can use Research Specification state when present, but it does not require one to ask the next pressure question.",
71
71
  "- Natural references to methods, measurement, theory, reviewer, editor, ethics, venue, or voice should foreground the matching LongTable role.",
72
72
  "- The compact visible shortcut set is panel, methods, measure, theory, reviewer, and voice. Other roles remain available through this router when the request calls for them.",
73
73
  "- When research responsibility is about to shift, surface a Researcher Checkpoint before closure.",
@@ -102,7 +102,7 @@ function baseSkillSpecs(surface = "compact") {
102
102
  "- 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.",
103
103
  "- 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.",
104
104
  "- For `$longtable-start`, 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.",
105
- "- For `$longtable-interview`, use option-first follow-up choices only after a usable Research Specification exists. Always include an escape hatch such as Other, free text, or one open follow-up question.",
105
+ "- For `$longtable-interview`, ask one relentless sharpening question at a time. State the tension, give the recommended answer, and ask the researcher to accept, revise, or reject it. Stop when remaining questions repeat the same tension without producing a new decision.",
106
106
  "- 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.",
107
107
  "- 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`.",
108
108
  "- 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.",
@@ -113,10 +113,10 @@ function baseSkillSpecs(surface = "compact") {
113
113
  },
114
114
  {
115
115
  name: "critical-interview",
116
- description: "A relentless LongTable interview to sharpen a research plan, argument, method, or product decision.",
116
+ description: "Compatibility alias for `$longtable-interview`.",
117
117
  disableModelInvocation: true,
118
118
  body: [
119
- "Run a LongTable critical interview session. Continue only while questions sharpen the research or design; stop when remaining questions repeat the same tension without producing a new decision."
119
+ "Compatibility alias: run `$longtable-interview`. Do not run a separate interview contract here."
120
120
  ]
121
121
  },
122
122
  {
@@ -165,7 +165,7 @@ function baseSkillSpecs(surface = "compact") {
165
165
  "## When To Use",
166
166
  "",
167
167
  "- The user invokes `$longtable-start`.",
168
- "- The user invokes `$longtable-interview` but the workspace has no usable Research Specification.",
168
+ "- The user explicitly wants a first research-start interview rather than a pressure interview.",
169
169
  "- The user wants to start a LongTable research workspace from inside Codex.",
170
170
  "- A workspace exists but `CURRENT.md` or `.longtable/state.json` lacks a usable Research Specification, or has only a First Research Shape.",
171
171
  "",
@@ -284,46 +284,48 @@ function baseSkillSpecs(surface = "compact") {
284
284
  },
285
285
  {
286
286
  name: "longtable-interview",
287
- description: "Use for `$longtable-interview`: run an option-first LongTable follow-up interview after a usable Research Specification exists; route to `$longtable-start` when no spec exists.",
287
+ description: "Use for `$longtable-interview`: run a LongTable grilling interview for research plans, arguments, methods, evidence standards, manuscripts, and product decisions.",
288
288
  body: [
289
289
  "## Purpose",
290
290
  "",
291
- "Run a post-start LongTable interview inside Codex. This skill is for structured follow-up decisions after the research has a usable Research Specification.",
291
+ "Run a LongTable grilling interview inside Codex. The goal is to sharpen the next research decision, not to present a questionnaire.",
292
292
  "",
293
- "## Required Routing",
293
+ "## Required Context",
294
294
  "",
295
295
  "- First inspect `CURRENT.md` and `.longtable/state.json` when available.",
296
- "- If MCP `read_research_specification` is available, use its `readiness.usableForInterview` result as the gate.",
297
- "- Usable means the shared readiness gate allows interview, normally a confirmed Research Specification.",
298
- "- If no usable Research Specification exists, route to `$longtable-start` immediately.",
299
- "- If only a First Research Shape exists, route to `$longtable-start` and continue into the next Research Specification question or preview.",
300
- "- Do not run an option-only interview before the Research Specification exists.",
296
+ "- If MCP `read_research_specification` is available, use it as context, not as a gate.",
297
+ "- If the answer can be found in `CURRENT.md`, `.longtable/`, the codebase, supplied documents, or cited evidence, inspect those first instead of asking.",
298
+ "- Do not route away to `$longtable-start` merely because a Research Specification is missing.",
299
+ "- If the researcher explicitly wants a first research-start interview, use `$longtable-start`; otherwise keep the grilling interview here.",
301
300
  "",
302
301
  "## When To Use",
303
302
  "",
304
- "- The user invokes `$longtable-interview` and a usable Research Specification exists.",
303
+ "- The user invokes `$longtable-interview`.",
304
+ "- The user invokes `$critical-interview`; treat it as a compatibility alias for this skill.",
305
+ "- The user asks for a grill-me-style, critical, pressure, or relentless interview.",
305
306
  "- The user wants to revise, extend, or resolve a decision in an existing Research Specification.",
306
- "- The user needs a bounded follow-up interview around a checkpoint, spec patch, evidence boundary, method choice, coding rule, or protected decision.",
307
+ "- The user needs a pressure interview around a checkpoint, spec patch, evidence boundary, method choice, coding rule, or protected decision.",
307
308
  "",
308
- "## Core Flow",
309
+ "## Grilling Loop",
309
310
  "",
310
- "1. Read the current Research Specification and identify the decision or section being interviewed.",
311
- "2. Present a small option-first choice set tied to the current specification.",
312
- "3. Include an escape hatch such as `Other`, free text, or `ask one open question first`.",
313
- "4. If the answer changes the specification, propose or apply a Research Specification patch through MCP/state when available.",
314
- "5. Record the resulting decision as a `DecisionRecord` or explicit open tension; never silently overwrite conflicting research commitments.",
311
+ "- Ask one question at a time.",
312
+ "- Each question must expose a decision, hidden assumption, weak boundary, unsupported claim, or evidence gap.",
313
+ "- For each question, state the tension, give the recommended answer, and ask the researcher to accept, revise, or reject it.",
314
+ "- Continue only while the next question can produce a new decision, sharper boundary, stronger evidence standard, or clearer open tension.",
315
+ "- Stop when remaining questions repeat the same tension without producing a new decision.",
315
316
  "",
316
- "## Option UI Policy",
317
+ "## Core Flow",
317
318
  "",
318
- "- Use MCP/native structured elicitation when available.",
319
- "- Use terminal selector only when the runtime has interactive TTY support.",
320
- "- Use numbered/plain text fallback when structured UI is unavailable.",
321
- "- Treat UI as transport. The durable product contract remains `QuestionRecord -> DecisionRecord`.",
322
- "- Do not require tmux. If a future Codex popup transport is tmux-only, label it as optional and provide fallback.",
319
+ "1. Read available project state and identify the highest-leverage unresolved tension.",
320
+ "2. Ask exactly one question.",
321
+ "3. Include `Tension:`, `Recommended answer:`, and `Question:` in the prompt.",
322
+ "4. Ask the researcher to accept, revise, or reject the recommended answer.",
323
+ "5. If the answer changes the specification, propose or apply a Research Specification patch through MCP/state when available.",
324
+ "6. Record the resulting decision as a `DecisionRecord`, Research Specification patch, or explicit open tension when MCP/state tools are available; never silently overwrite conflicting research commitments.",
323
325
  "",
324
326
  "## Fallback",
325
327
  "",
326
- "If MCP tools are unavailable, continue in Codex with explicit options and state that durable LongTable state could not be written."
328
+ "If MCP tools are unavailable, continue the grilling interview in Codex and state that durable LongTable state could not be written."
327
329
  ]
328
330
  },
329
331
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longtable/provider-codex",
3
- "version": "0.1.65",
3
+ "version": "0.1.67",
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.65",
19
- "@longtable/core": "0.1.65",
20
- "@longtable/setup": "0.1.65"
18
+ "@longtable/checkpoints": "0.1.67",
19
+ "@longtable/core": "0.1.67",
20
+ "@longtable/setup": "0.1.67"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^22.10.1",