Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ Required routing:
- `$longtable-interview` is the grilling interview surface.
- It does not require a Research Specification before asking the next pressure
question.
- It asks one question at a time, states the tension, gives a recommended
answer, and asks the researcher to accept, revise, or reject it.
- It asks one pressure question at a time, shows the tension, and avoids option
menus or approval prompts.
- If only a First Research Shape exists, LongTable continues through
`$longtable-start` until a Research Specification is created or explicitly
kept open.
Expand Down Expand Up @@ -98,8 +98,8 @@ decisions, open questions, next actions, and confidence.
argument, method, manuscript, evidence standard, or product decision. It inspects
`CURRENT.md`, `.longtable/`, supplied documents, and cited evidence first when
those can answer the question. Then it asks one high-leverage question using
this frame: tension, recommended answer, and a request to accept, revise, or
reject that recommendation.
this frame: `Tension:` plus `Pressure question:`. It does not ask the
researcher to pick from options.

The interview continues only while the next question can produce a new decision,
sharper boundary, stronger evidence standard, or clearer open tension. It stops
Expand Down
5 changes: 2 additions & 3 deletions docs/LONGTABLE-COMMAND-SURFACE.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,8 @@ LongTable grilling interview:
- reads `CURRENT.md`, `.longtable/`, supplied documents, and cited evidence
before asking when those sources can answer
- asks one relentless sharpening question at a time
- states the tension
- gives the recommended answer
- asks the researcher to accept, revise, or reject the recommendation
- uses a `Tension:` plus `Pressure question:` frame
- avoids option menus, numbered choices, and approval prompts
- continues only while the next question can produce a new decision, sharper
boundary, stronger evidence standard, or clearer open tension
- stops when remaining questions repeat the same tension without producing a
Expand Down
4 changes: 2 additions & 2 deletions docs/QUESTION-RUNTIME.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ questions and creates or updates the Research Specification.

`$longtable-interview` is a grilling interview surface. It can use the Research
Specification when one exists, but it does not require one before asking a
pressure question. It asks one question at a time, states the tension, gives the
recommended answer, and asks the researcher to accept, revise, or reject it.
pressure question. It asks one question at a time using `Tension:` and
`Pressure question:`, without option menus or approval prompts.

If the researcher explicitly wants a first research-start interview, use
`$longtable-start`. Otherwise, `$longtable-interview` stays in the grilling
Expand Down
30 changes: 30 additions & 0 deletions docs/release-notes-0.1.70.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# LongTable 0.1.70

LongTable 0.1.70 makes `$longtable-interview` pressure-first instead of
approval-first. The generated Codex and Claude skills now ask one direct
research pressure question at a time, without returning to the older
recommended-answer and accept/revise/reject flow.

## Changes

- Replaces the `$longtable-interview` recommended-answer frame with a
`Tension:` plus `Pressure question:` frame.
- Forbids option menus, numbered choices, and approval prompts inside the
grilling interview loop.
- Delays LongTable MCP/state writes until after the researcher answers or
explicitly asks to record a decision.
- Extends the grilling-interview smoke test so generated skills fail if they
reintroduce recommended-answer or accept/revise/reject language.

## Migration

Use `$longtable-interview` when the researcher wants a direct pressure
interview over a plan, claim, method, evidence standard, manuscript, or
LongTable product decision. Use `$longtable-start` or normal Researcher
Checkpoints when structured choices are the desired surface.

## Verification

- `npm run build`
- `npm run smoke:grilling-interview`
- `npm run release:check`
102 changes: 36 additions & 66 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "longtable-monorepo",
"version": "0.1.69",
"version": "0.1.70",
"private": true,
"description": "Monorepo for the LongTable product surface and provider-neutral runtime packages",
"workspaces": [
Expand Down
4 changes: 2 additions & 2 deletions packages/longtable-checkpoints/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@longtable/checkpoints",
"version": "0.1.69",
"version": "0.1.70",
"private": false,
"description": "Checkpoint policy engine for LongTable",
"type": "module",
Expand All @@ -21,7 +21,7 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@longtable/core": "0.1.69"
"@longtable/core": "0.1.70"
},
"devDependencies": {
"typescript": "^5.6.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/longtable-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@longtable/core",
"version": "0.1.69",
"version": "0.1.70",
"private": false,
"description": "Provider-neutral domain models and contracts for LongTable",
"type": "module",
Expand Down
14 changes: 7 additions & 7 deletions packages/longtable-mcp/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@longtable/mcp",
"version": "0.1.69",
"version": "0.1.70",
"private": false,
"description": "LongTable MCP transport for workspace state and Researcher Checkpoints",
"type": "module",
Expand All @@ -26,12 +26,12 @@
"self-test": "node ./dist/server.js --self-test"
},
"dependencies": {
"@longtable/checkpoints": "0.1.69",
"@longtable/cli": "0.1.69",
"@longtable/core": "0.1.69",
"@longtable/provider-claude": "0.1.69",
"@longtable/provider-codex": "0.1.69",
"@longtable/setup": "0.1.69",
"@longtable/checkpoints": "0.1.70",
"@longtable/cli": "0.1.70",
"@longtable/core": "0.1.70",
"@longtable/provider-claude": "0.1.70",
"@longtable/provider-codex": "0.1.70",
"@longtable/setup": "0.1.70",
"@modelcontextprotocol/sdk": "^1.29.0",
"zod": "^4.0.0"
},
Expand Down
4 changes: 2 additions & 2 deletions packages/longtable-memory/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@longtable/memory",
"version": "0.1.69",
"version": "0.1.70",
"private": false,
"description": "Memory contracts for LongTable explicit state, inferred hypotheses, and open tensions",
"type": "module",
Expand All @@ -21,7 +21,7 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@longtable/core": "0.1.69"
"@longtable/core": "0.1.70"
},
"devDependencies": {
"typescript": "^5.6.0"
Expand Down
8 changes: 4 additions & 4 deletions packages/longtable-provider-claude/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@longtable/provider-claude",
"version": "0.1.69",
"version": "0.1.70",
"private": false,
"description": "Claude adapter surface for LongTable",
"type": "module",
Expand All @@ -21,9 +21,9 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@longtable/checkpoints": "0.1.69",
"@longtable/core": "0.1.69",
"@longtable/setup": "0.1.69"
"@longtable/checkpoints": "0.1.70",
"@longtable/core": "0.1.70",
"@longtable/setup": "0.1.70"
},
"devDependencies": {
"typescript": "^5.6.0"
Expand Down
Loading
Loading