@su-record/vibe 4.1.28 → 4.1.29
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.
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "An AX/FDE harness for Claude Code, Codex CLI and ChatGPT desktop. Say what you need, approve the scenarios once; the harness proves the work by running the checks itself. Memory in plain files, human tokens for irreversible actions, a ledger instead of claims.",
|
|
9
|
-
"version": "4.1.
|
|
9
|
+
"version": "4.1.29"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "vibe",
|
|
14
14
|
"source": "./",
|
|
15
15
|
"description": "An AX/FDE harness for Claude Code, Codex CLI and ChatGPT desktop. Say what you need, approve the scenarios once; the harness proves the work by running the checks itself. Memory in plain files, human tokens for irreversible actions, a ledger instead of claims.",
|
|
16
|
-
"version": "4.1.
|
|
16
|
+
"version": "4.1.29",
|
|
17
17
|
"category": "productivity"
|
|
18
18
|
}
|
|
19
19
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibe",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.29",
|
|
4
4
|
"description": "An AX/FDE harness for Claude Code, Codex CLI and ChatGPT desktop. Say what you need, approve the scenarios once; the harness proves the work by running the checks itself. Memory in plain files, human tokens for irreversible actions, a ledger instead of claims.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "su-record",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibe",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.29",
|
|
4
4
|
"description": "An AX/FDE harness for Claude Code, Codex CLI and ChatGPT desktop. Say what you need, approve the scenarios once; the harness proves the work by running the checks itself. Memory in plain files, human tokens for irreversible actions, a ledger instead of claims.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "su-record",
|
package/hooks/notify.js
CHANGED
|
@@ -39,7 +39,10 @@ if (asPlugin) {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
function readPayload() {
|
|
42
|
-
try {
|
|
42
|
+
try {
|
|
43
|
+
const value = ['stop', 'session'].includes(mode) ? sessionFiles.readPayload() : JSON.parse(fs.readFileSync(0, 'utf8'));
|
|
44
|
+
return value && typeof value === 'object' && !Array.isArray(value) ? value : { session_id: 'invalid payload' };
|
|
45
|
+
}
|
|
43
46
|
catch { return { session_id: 'invalid payload' }; }
|
|
44
47
|
}
|
|
45
48
|
|
|
@@ -126,7 +129,12 @@ const cli = path.join(here, '..', 'dist', 'cli.js');
|
|
|
126
129
|
|
|
127
130
|
// Stop never resolves a PATH command or reads a transcript as instructions.
|
|
128
131
|
if (mode === 'stop') {
|
|
129
|
-
|
|
132
|
+
const result = sessionRuntime.stopDecision(readPayload());
|
|
133
|
+
// Status and failure details belong to explicit state/context requests, not the chat footer.
|
|
134
|
+
const output = result.decision === 'block'
|
|
135
|
+
? { decision: 'block', reason: '[vibe] Work remains unverified. Run vibe state for the next step.' }
|
|
136
|
+
: {};
|
|
137
|
+
process.stdout.write(`${JSON.stringify(output)}\n`);
|
|
130
138
|
process.exit(0);
|
|
131
139
|
}
|
|
132
140
|
if (mode === 'session') {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@su-record/vibe",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.29",
|
|
4
4
|
"description": "An AX/FDE harness for Claude Code, Codex CLI and ChatGPT desktop. Say what you need, approve the scenarios once; the harness proves the work by running the checks itself. Memory in plain files, human tokens for irreversible actions, a ledger instead of claims.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|