@longtable/provider-codex 0.1.59 → 0.1.60

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.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { RoleDefinition } from "@longtable/core";
2
2
  export interface CodexSkillSpec {
3
3
  name: string;
4
4
  description: string;
5
+ disableModelInvocation?: boolean;
5
6
  body: string[];
6
7
  }
7
8
  export interface InstalledCodexSkill {
package/dist/skills.js CHANGED
@@ -26,6 +26,7 @@ function renderSkillFile(spec) {
26
26
  "---",
27
27
  `name: ${spec.name}`,
28
28
  `description: ${yamlString(spec.description)}`,
29
+ ...(spec.disableModelInvocation ? ["disable-model-invocation: true"] : []),
29
30
  "---",
30
31
  "",
31
32
  `# ${spec.name}`,
@@ -57,6 +58,8 @@ function baseSkillSpecs(surface = "compact") {
57
58
  "- `$longtable-methods`, `$longtable-measure`, `$longtable-theory`, `$longtable-reviewer`, or `$longtable-voice` when the researcher explicitly wants that shortcut.",
58
59
  "- `$longtable-start` to create or continue the first research-start interview.",
59
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.",
62
+ "- `$scholar-research` for scholarly evidence recovery, citation-slot research, and legal full-text readiness.",
60
63
  "",
61
64
  "## Routing Rules",
62
65
  "",
@@ -108,6 +111,49 @@ function baseSkillSpecs(surface = "compact") {
108
111
  "- Label unsupported external claims as inference or estimate."
109
112
  ]
110
113
  },
114
+ {
115
+ name: "critical-interview",
116
+ description: "A relentless LongTable interview to sharpen a research plan, argument, method, or product decision.",
117
+ disableModelInvocation: true,
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."
120
+ ]
121
+ },
122
+ {
123
+ name: "scholar-research",
124
+ description: "LongTable scholarly evidence recovery and citation-slot research using host-agent orchestration, legal OA/fulltext connectors, evidence ledgers, and Researcher Checkpoints.",
125
+ body: [
126
+ "Run a LongTable scholar-research session.",
127
+ "",
128
+ "Treat `.longtable/` as the source of truth. Recover only legally accessible scholarly evidence. Do not bypass paywalls, authentication, robots.txt, WAFs, or access controls. Use host-agent orchestration for parallel research, but write journal, evidence ledger, claim ledger, fallback ledger, and citation-slot matrix into `.longtable/research-runs/<run-id>/`.",
129
+ "",
130
+ "## Required Flow",
131
+ "",
132
+ "1. Start with a citation-slot matrix or DOI/title/URL seed batch; free-form literature search is post-MVP.",
133
+ "2. Run `longtable scholar-research doctor` before evidence recovery and surface any missing connector readiness.",
134
+ "3. Create or reuse a run scaffold with `longtable scholar-research scaffold --cwd <project> --json`.",
135
+ "4. Search in this order: DOI/title seed, Crossref/OpenAlex/Semantic Scholar metadata, Unpaywall OA status, arXiv/SSRN/ERIC/PubMed/PMC/CORE/DOAJ/repository sweep, publisher landing page, legal PDF/full text, fallback ledger.",
136
+ "5. Mark citation slots `filled` only when full text produced an extracted quote/claim. Metadata, abstract, or fallback evidence is `provisional`, not filled.",
137
+ "6. Stop for a Researcher Checkpoint when access is restricted, when a strong claim has weak evidence, or when synthesis would change the research direction.",
138
+ "",
139
+ "## Safety Boundary",
140
+ "",
141
+ "- Do not bypass paywalls, authentication, robots.txt, WAFs, or access controls.",
142
+ "- Do not automate institution login, cookie reuse, proxy/VPN bypass, or session extraction.",
143
+ "- Request manual upload only when the researcher says they have legitimate access.",
144
+ "- Record failure reasons with the LongTable taxonomy: `not_found`, `no_full_text`, `restricted_access`, `robots_or_terms_blocked`, `ambiguous_match`, `download_failed`, `parse_failed`, `weak_evidence`.",
145
+ "",
146
+ "## Output Contract",
147
+ "",
148
+ "- `.longtable/research-runs/<run-id>/journal.md`",
149
+ "- `.longtable/research-runs/<run-id>/expansion-log.md`",
150
+ "- `.longtable/research-runs/<run-id>/claim-ledger.md`",
151
+ "- `.longtable/research-runs/<run-id>/evidence-ledger.md`",
152
+ "- `.longtable/research-runs/<run-id>/fallback-ledger.md`",
153
+ "- `.longtable/research-runs/<run-id>/citation-slot-matrix.md`",
154
+ "- `.longtable/research-runs/<run-id>/sources/manifest.jsonl`"
155
+ ]
156
+ },
111
157
  {
112
158
  name: "longtable-start",
113
159
  description: "Use for `$longtable-start`: 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.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longtable/provider-codex",
3
- "version": "0.1.59",
3
+ "version": "0.1.60",
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.59",
19
- "@longtable/core": "0.1.59",
20
- "@longtable/setup": "0.1.59"
18
+ "@longtable/checkpoints": "0.1.60",
19
+ "@longtable/core": "0.1.60",
20
+ "@longtable/setup": "0.1.60"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^22.10.1",