@su-record/vibe 4.1.24 → 4.1.26
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +49 -17
- package/card.md +9 -9
- package/dist/cli/common.js +4 -2
- package/dist/cli/common.js.map +1 -1
- package/dist/cli/human.js +7 -4
- package/dist/cli/human.js.map +1 -1
- package/dist/cli/memory.js +1 -1
- package/dist/cli/memory.js.map +1 -1
- package/dist/cli/session.js +16 -0
- package/dist/cli/session.js.map +1 -0
- package/dist/cli/work.js +60 -26
- package/dist/cli/work.js.map +1 -1
- package/dist/cli.js +9 -4
- package/dist/cli.js.map +1 -1
- package/dist/core/check-process.js +51 -0
- package/dist/core/check-process.js.map +1 -0
- package/dist/core/check.js +94 -49
- package/dist/core/check.js.map +1 -1
- package/dist/core/checks/eval.js +10 -19
- package/dist/core/checks/eval.js.map +1 -1
- package/dist/core/checks/file.js +4 -0
- package/dist/core/checks/file.js.map +1 -1
- package/dist/core/checks/http.js +22 -3
- package/dist/core/checks/http.js.map +1 -1
- package/dist/core/checks/review.js +13 -9
- package/dist/core/checks/review.js.map +1 -1
- package/dist/core/checks/run.js +7 -29
- package/dist/core/checks/run.js.map +1 -1
- package/dist/core/client.js +1 -1
- package/dist/core/client.js.map +1 -1
- package/dist/core/config.js +7 -4
- package/dist/core/config.js.map +1 -1
- package/dist/core/consent.js +33 -0
- package/dist/core/consent.js.map +1 -0
- package/dist/core/context.js +11 -2
- package/dist/core/context.js.map +1 -1
- package/dist/core/evidence.js +35 -0
- package/dist/core/evidence.js.map +1 -0
- package/dist/core/failure-message.js +23 -0
- package/dist/core/failure-message.js.map +1 -0
- package/dist/core/failure.js +54 -0
- package/dist/core/failure.js.map +1 -0
- package/dist/core/handoff-results.js +44 -0
- package/dist/core/handoff-results.js.map +1 -0
- package/dist/core/handoff.js +65 -0
- package/dist/core/handoff.js.map +1 -0
- package/dist/core/inspect.js +136 -0
- package/dist/core/inspect.js.map +1 -0
- package/dist/core/intent.js +33 -9
- package/dist/core/intent.js.map +1 -1
- package/dist/core/ledger.js +14 -6
- package/dist/core/ledger.js.map +1 -1
- package/dist/core/output-capture.js +31 -0
- package/dist/core/output-capture.js.map +1 -0
- package/dist/core/paths.js +10 -8
- package/dist/core/paths.js.map +1 -1
- package/dist/core/private-store.js +17 -0
- package/dist/core/private-store.js.map +1 -0
- package/dist/core/profile.js +23 -0
- package/dist/core/profile.js.map +1 -1
- package/dist/core/read-guard.js +6 -0
- package/dist/core/read-guard.js.map +1 -0
- package/dist/core/readerSession.js +8 -27
- package/dist/core/readerSession.js.map +1 -1
- package/dist/core/regress.js +1 -1
- package/dist/core/regress.js.map +1 -1
- package/dist/core/repair.js +39 -0
- package/dist/core/repair.js.map +1 -0
- package/dist/core/run-id.js +29 -0
- package/dist/core/run-id.js.map +1 -0
- package/dist/core/scenarios.js +11 -0
- package/dist/core/scenarios.js.map +1 -1
- package/dist/core/session.js +29 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/source-basis.js +75 -0
- package/dist/core/source-basis.js.map +1 -0
- package/dist/core/state.js.map +1 -1
- package/dist/core/view.js +45 -17
- package/dist/core/view.js.map +1 -1
- package/dist/install/hooks.js +2 -2
- package/dist/install/hooks.js.map +1 -1
- package/dist/install/plugin.js +13 -7
- package/dist/install/plugin.js.map +1 -1
- package/dist/install/project.js +7 -1
- package/dist/install/project.js.map +1 -1
- package/dist/install/tree.js +2 -2
- package/dist/install/tree.js.map +1 -1
- package/hooks/codex-hooks.json +2 -2
- package/hooks/hooks.json +2 -2
- package/hooks/notify.js +42 -83
- package/hooks/private-store.cjs +59 -0
- package/hooks/session-context.cjs +59 -0
- package/hooks/session-files.cjs +81 -0
- package/hooks/session-repair.cjs +24 -0
- package/hooks/session-state.cjs +166 -0
- package/hooks/session.js +17 -66
- package/hooks/slice-command.cjs +121 -0
- package/hooks/slice-guard.cjs +41 -0
- package/hooks/slice-store.cjs +72 -0
- package/package.json +1 -1
- package/skills/vibe/SKILL.md +4 -3
- package/skills/vibe-build/SKILL.md +3 -2
- package/skills/vibe-discover/SKILL.md +13 -11
- package/skills/vibe-discover/work-opportunities.md +13 -0
- package/skills/vibe-handoff/SKILL.md +1 -0
- package/skills/vibe-prove/SKILL.md +7 -11
- package/skills/vibe-scope/SKILL.md +6 -4
|
@@ -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.26"
|
|
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.26",
|
|
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.26",
|
|
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.26",
|
|
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/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# vibe 4
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Use AI as an FDE.** Start with the customer's problem, agree on what success means, build, prove the result, and hand it to the person who will run it. vibe carries that procedure across clients and sessions, with executable checks and recorded decisions.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The [4.1.25 measurements](bench/claims/2026-09-09-4.1.25.md) are historical evidence toward that purpose: equal observed final artifact scores, with the supplied-scope arm using 0.69× and 0.81× bare weighted input tokens on a two-session task, 0.75× on a Claude-to-Codex handover, and 0.61× and 0.50× on the brownfield task. The arm that wrote its own scope used 1.3–5.8× bare weighted input tokens. Those final scores did not measure the quality of discovery or agreement. Six trap attempts failed to separate the arms; no prevention number is claimed. The 4.1.26 comparison evaluates the agreement separately and requires new evidence before any new quality or cost claim.
|
|
6
6
|
|
|
7
7
|
Main surfaces: Claude Code · Codex CLI · ChatGPT desktop app · Hermes Agent · Claude desktop app (interview, approval, verdict, handoff).
|
|
8
8
|
|
|
@@ -31,16 +31,44 @@ Then, in chat:
|
|
|
31
31
|
## The flow
|
|
32
32
|
|
|
33
33
|
```
|
|
34
|
-
request `vibe state` says the stage and the next step
|
|
35
|
-
→
|
|
36
|
-
→ scenarios
|
|
34
|
+
request `vibe state` says the stage and the next step; bind the host session to this worktree
|
|
35
|
+
→ discover evidence first; ask only about consequential unknowns, up to three per round
|
|
36
|
+
→ scenarios sufficient agreement · executable checks · needed tools → one approval
|
|
37
37
|
→ build everything first, then one `vibe check --all`; on a failure, fix what the check names; `vibe context <id>` when that is not enough
|
|
38
|
-
→ prove `vibe check --all` — every scenario plus every regression, ordered by the work graph
|
|
38
|
+
→ prove explicitly run `vibe check --all` — every scenario plus every regression, ordered by the work graph
|
|
39
39
|
→ report from the check output; HANDOFF.md only when the intent asks; irreversible steps need a token
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
Any client can pick the work up: `vibe state` says where you are, because the state lives in plain files inside the repository. There is no handoff document — the state is the handoff.
|
|
43
43
|
|
|
44
|
+
In the intended worktree, run `vibe session bind` once per host session. It uses `CODEX_THREAD_ID` or `CLAUDE_SESSION_ID`; if the host supplies only a hook `session_id`, pass that exact value with `--session <id>`. `vibe session status` reports the association. Binding is explicit and private to the local machine: a copied ledger, parent repository or sibling worktree cannot choose the session's target. Missing or conflicting identifiers leave Stop unavailable until the association is corrected.
|
|
45
|
+
|
|
46
|
+
SessionStart and Stop perform bounded local reads with packaged modules. They run no checks, models, services or PATH commands. Stop recognizes completion only from a fresh explicit-check record for the exact canonical worktree, revision, contract and files. It blocks unchanged unfinished work at most twice, then releases it as unmet. An inbox wait or scenario handoff also releases without success. Titles, check output, transcript claims and handoff reasons never become Stop instructions.
|
|
47
|
+
|
|
48
|
+
Session bindings, retry counters and explicit-check proofs live outside the project in `~/.vibe-runtime`, with private directory/file permissions and linked-entry rejection. Rebinding does not clear an existing retry counter. On Windows, confidentiality still depends on the user's home ACL; POSIX mode bits cannot prove it. A project fingerprint is bounded to 10,000 entries, 64 MiB total, 8 MiB per file and a 1.5-second traversal budget. Unsupported files, changing inputs or exceeded limits produce a private unavailable snapshot while preserving the explicit check's verdict. Stop then reports unavailable and unmet. Failure to write the private proof itself remains an error. Git metadata, dependency trees and client configuration directories are excluded from this fingerprint; contract files, configuration and regressions under `.vibe/` remain included.
|
|
49
|
+
|
|
50
|
+
The private proof also retains the reviewed execution plan. Stop compares the local consent receipt, PATH/PATHEXT, shell and Node paths, selected environment values, declared working directories and verifier hashes without executing them. External declared verifier files are included in that comparison. Reads are capped at 512 distinct verifier files, 32 MiB total and one second; unavailable or changed context cannot become verified completion. Undeclared shell dependencies and same-user hostile processes remain outside this guarantee.
|
|
51
|
+
|
|
52
|
+
Read fewer relevant files, each in full: Claude Code uses Read, Codex uses `cat`. The Bash hook blocks recognized slices of the current state's files, `.vibe/intent.md`, `scenarios.yaml` and `spec/` or `specs/`; other source/document slices receive a warning each time. `grep -n`/`rg -n` locate lines, `-l` locates files; file-fed `head`, `tail`, `sed -n`, `cut` and `awk` excerpts do not replace reading the source. Logs, `.dev/` and pipelines carrying command output remain exempt. The recognizer does not execute or expand shell variables, aliases or heredocs. An unavailable state-file mirror is reported, and the built-in contract/spec rules still apply.
|
|
53
|
+
|
|
54
|
+
Slice-read counters contain only blocked/warned counts in the private runtime store. Benchmark initialization distinguishes a measured zero from a missing or unreadable counter; each session records the difference and each attempt records the sum. No shell command or file excerpt is copied into these counter records.
|
|
55
|
+
|
|
56
|
+
A clear request needs no ceremonial interview. Relevant documents and sample profiles can answer questions before the customer is asked. An unanswered material question remains unanswered even if a default was proposed. Research and new integrations are used for a specific unresolved need, not on every local task.
|
|
57
|
+
|
|
58
|
+
An intent can record its stable evidence files with `sources` in the `intent draft --stdin` payload. Their content hashes become part of the approval; `vibe intent show --json` reports `sourceBasis` and names changed or missing inputs. Reuse unchanged findings and re-evaluate affected decisions when the evidence changes. Generated outputs, session prompts, and files the implementation will edit are not stable evidence inputs.
|
|
59
|
+
|
|
60
|
+
## Find work AI can take over
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
/vibe Look at these work logs, exported mail, documents and meeting notes. Find recurring work worth automating, agree on one item with me, and build a checked local pilot.
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
vibe establishes the observation window, counts distinct work events, and records which have measured active time. The same event in a message and a meeting note counts once. Missing duration stays unknown; meeting length and a vendor's productivity claim do not establish time saved.
|
|
67
|
+
|
|
68
|
+
Each grounded opportunity names its sources, input/output, tool or connection, setup, failure cases, permission and human-review boundaries, rollback, and an executable check. Rank up to three feasible candidates against the customer's objective, then agree on one to build. Fewer than three is a valid result. A request to find opportunities does not itself authorize an external installation, send, payment, or deletion.
|
|
69
|
+
|
|
70
|
+
The selected local pilot must work on changed input, handle a failure, preserve source data, and support rerun and rollback. Report its actual behavior and machine runtime. Human time saved or ROI requires a comparable manual baseline and measured setup, correction, review, and maintenance effort; without those, the value remains unknown.
|
|
71
|
+
|
|
44
72
|
## Five things the harness does (and nothing else)
|
|
45
73
|
|
|
46
74
|
1. **Independent verdict.** Every scenario carries a check: `run` (exit code), `file` (exists / regex / contains / JSON Schema / column sum), `http` (status / JSON Schema / latency ceiling), `eval` (count of matching labelled cases through a runner), or `human` (no verdict — goes to the inbox). Only what `vibe check` executed itself becomes evidence. A model saying "done" changes nothing; DONE is void the moment a file changes.
|
|
@@ -92,8 +120,8 @@ Routing stays in code: the model never decides the order. Keep a graph under six
|
|
|
92
120
|
|
|
93
121
|
```bash
|
|
94
122
|
vibe tokens strict # approval and irreversible actions both need a six-digit human token
|
|
95
|
-
vibe tokens irreversible #
|
|
96
|
-
vibe tokens off # no tokens; everything is recorded as "auto" (you already skip permissions)
|
|
123
|
+
vibe tokens irreversible # a plain "yes" approves; push/deploy/send/delete/spend need a token
|
|
124
|
+
vibe tokens off # default — no tokens; everything is recorded as "auto" (you already skip permissions)
|
|
97
125
|
```
|
|
98
126
|
|
|
99
127
|
The policy is per project (`.vibe/config.json`); `vibe tokens` alone prints it. Tokens are six digits, valid ten minutes, single use, bound to what they authorize, and stored only as hashes. The verdict itself is never configurable.
|
|
@@ -103,6 +131,7 @@ The policy is per project (`.vibe/config.json`); `vibe tokens` alone prints it.
|
|
|
103
131
|
```
|
|
104
132
|
setup update [--check] · status · tokens · uninstall [--purge-state] · plugin build | mcpb | install | status
|
|
105
133
|
work state [--graph] · read <file…> [--ask "…"] · profile <file> · intent draft | show | analyze · approve · check [id…] [--all] · evidence · abandon
|
|
134
|
+
session session bind [--session id] · session status [--session id]
|
|
106
135
|
checks run · file · http · eval · review · human · size [--max-file 400] [--max-function 50]
|
|
107
136
|
map map · symbols <file> · callers <symbol> · blast · context <scenario> · conventions
|
|
108
137
|
human ask · authorize --action <action> · inbox [answer <id> "…" | resolve <id>]
|
|
@@ -118,6 +147,8 @@ ledger ledger · ledger compare --metric checks|turns|cost|ms|tokens [--paire
|
|
|
118
147
|
|
|
119
148
|
`vibe research --from-intent` turns the intent title, the hosts its `http` checks target and the stack into queries, searches GitHub repositories, code (`SKILL.md` files — needs a token) and skill catalogs, and ranks up to five candidates — what moved inside the research window first (`--days N`, default 30: the latest releases, else the latest commit, one or two requests per repository), then keyword match, recency, stars and license; evidence outside the window is demoted, never dropped. Each candidate carries one action: `vibe skill add …`, a knowledge note, or none. The note lands in `.vibe/knowledge/research/`; the same query is cached for a day. Nothing fetched is executed or installed.
|
|
120
149
|
|
|
150
|
+
Run it when a consequential tool or technical choice remains unresolved after inspecting the available capabilities. Reuse an installed tool when it already meets the agreed check.
|
|
151
|
+
|
|
121
152
|
Default catalogs: `anthropics/skills`, `vercel-labs/agent-skills`, `NousResearch/hermes-agent` (a skill is any directory with a `SKILL.md`, at any depth). Add your own under `catalogs` in `.vibe/config.json`. Without a GitHub token (`GITHUB_TOKEN`, or `gh auth login`) code search is skipped and catalogs are read within the public limits.
|
|
122
153
|
|
|
123
154
|
## Skills
|
|
@@ -137,7 +168,7 @@ vibe skill add owner/repo[@name] [--pin <sha>] [--yes] # shows the commands in
|
|
|
137
168
|
vibe skill search <keyword> · list · used <name> · prune [--unused-runs 10] · dismiss <ref>
|
|
138
169
|
```
|
|
139
170
|
|
|
140
|
-
Proposals are proposals: the harness never installs a proposed skill
|
|
171
|
+
Proposals are proposals: the harness never installs a proposed skill or runs remote commands without an explicit action. Its local installation and private runtime records live outside the project. A dismissed proposal is not repeated.
|
|
141
172
|
|
|
142
173
|
## Language
|
|
143
174
|
|
|
@@ -148,6 +179,7 @@ The always-on card (1KB), the skills and every record vibe writes are English. T
|
|
|
148
179
|
```
|
|
149
180
|
intent.md what and why — the one page you approve
|
|
150
181
|
scenarios.yaml given / when / then + the check that judges each + needs (the work graph)
|
|
182
|
+
source-basis.json optional evidence-file hashes bound to the approval
|
|
151
183
|
evidence/ what the harness actually ran, per run
|
|
152
184
|
ledger.jsonl state changes, client, model, results, cost, typed edges
|
|
153
185
|
inbox.jsonl questions, STUCK notices, token hashes
|
|
@@ -160,27 +192,27 @@ config.json token policy · skill catalogs · reader and reviewer model set
|
|
|
160
192
|
|
|
161
193
|
## Status
|
|
162
194
|
|
|
163
|
-
`4.0.0` — phase 1: CLI core + Claude Code. Phase 2: Codex CLI and ChatGPT desktop adapters, the work graph and typed ledger edges. Phase 3a: `http` / `eval` checks, column sums, sample profiling. Phase 3b: GitHub research, project-local skills and proposals. Phase 3c: the end-to-end order-settlement example. Phase 4: the bench and `ledger compare --by harness`. `4.0.2`: no `init` — the card, skills and hook live in the client home and any `vibe` command repairs them. `4.0.3`: `vibe uninstall` also clears what an older `init` left in the project. `4.1.0`: the package is the plugin — `npm i -g` registers a local plugin in Claude Code and Codex/ChatGPT, Hermes Agent joins as a client, `vibe plugin build --check` gates manifest drift. `4.1.1`: `vibe update`. `4.1.2`: the Claude desktop app through an MCP Bundle (`vibe plugin mcpb`). `4.1.3`: the bundle finds the CLI without the shell's PATH (Homebrew, nvm, fnm, volta) or from a path set at install. `4.1.4`: `vibe read` for xlsx · docx · pptx · pdf, `vibe profile` reads xlsx, card rule 8 (read files whole). `4.1.5`: `vibe read` for Hangul hwp · hwpx and html. `4.1.6`: `vibe size`, a built-in file/function size check for any project; the CLI split into modules; the repository's own limit is now per file (400), not a total. `4.1.7`: hook entries left by vibe 3 that point at a missing script are swept at every command, so Claude Code stops reporting them. `4.1.8`: the five stage skills are `vibe-discover` … `vibe-handoff` (a dot is outside the Agent Skills name grammar) and the dotted directories an older install left in a client home are swept; `.vibe/` means one thing — the plugin tree moves to `~/.config/vibe/plugin`, a `.vibe/` counts as a project only when it holds a record, the search stops at `.git` and never lands on the home, `vibe state` shows `root`, a `run` check that exits 127 names its cwd; the `review` check and the `antislop-ko` · `antislop-en` language packs — the harness runs a copy editor and a chief editor on human-read text and passes only on `PASS`. vibe 3 stays on its 3.x tags and is no longer developed. `4.1.9`: Codex follows `vibe update` — the version Codex actually holds is read from its cache, compared with the package and re-registered (remove + add) when behind; a marketplace entry still pointing at the ≤ 4.1.7 store is drift; `vibe status` reports the Codex plugin version it read, not the package version. `4.1.10`: `vibe read --ask` — the harness reads for the model: files (numbered) go to a low-reasoning reader on the client CLI and only the answer returns; the reader runs slim (own system prompt, no tools, no settings, neutral directory) and one session per file set is resumed for follow-up questions so the corpus is read from cache, with the hit reported; the hook advises `--ask` on reads over 400 lines; card rule 8 says when to delegate; the `review` check's Codex command gets `--skip-git-repo-check`. Also: `regress record` made ids longer than the 40-character rule, so every recorded regression was silently left out of `check --all` — the id now fits, a file that parses to nothing is named in `vibe state`, and the repository's four regressions run again. `4.1.11`: antislop reaches design — `antislop-design` and its two reviewers (markup reviewer, art director) join the text packs, reviewer stages are data (`reviewers/<pack>/N-<stage>.md`), the `review` check takes `pack`, a directory of source and a `screenshot`; the text packs gain strength tiers, five questions before a cut, the portability test, notes-to-the-writer, sample-outranks-rules and a what-is-not-a-tell list, and the reviewers may name what to keep. `4.1.12`: the agent's own report is not slop — card rule 9 (what changed apart from what `vibe check` verified; keep the caveat that changes the next step; an error is its cause and fix; answer first, no praise, apology or closing offer) and a Report voice section in `vibe-handoff` (each Built line names its check and run or says "not checked"; estimates in turns and tool calls, never calendar time; the handoff document follows `antislop-en`). `4.1.13`: the deterministic pre-gate — `file … absent` (a regex that must match nowhere: placeholders, a writer's note in double square brackets that was reprinted into the artifact), proposed by the scope skill next to every `review`; this repository gates its own documents the same way. No word lists, no dash counts: the judgment stays with the reviewers. `4.1.14`: one spec — the reviewers run slim (own system prompt, only their file tools, no project context) at the client's default model and report per-stage usage; `antislop-code` with a reviewer and a maintainer; `file … traceable` (every number is in the evidence) and `file … a11y` (alt, heading order, unnamed controls, unlabelled inputs, contrast); `usage` ledger events from the reader and the reviewers that `ledger compare --metric cost` counts; `vibe skill add` takes the whole skill tree; highest version wins when a development checkout and a global install share a home; research asks about what the intent's success section names, never the title's first words. `4.1.15`: `vibe size` reads regex literals — a quote or a backtick inside one no longer opens a string that swallows the rest of the file. `4.1.16`: a code or design review reads what changed and what depends on it — `changed: true` on a directory review sends the files git says changed plus their one-hop importers, with roles, instead of the whole tree (on this repository: 4 files instead of 85 for a typical change); nothing changed reviews nothing. `4.1.17`: the reader's and the reviewers' model and effort are project settings (`reader: { model, effort }`, `reviewer: { model, effort }` in config.json, four env overrides); vibe keeps no model catalogue. `4.1.18`: research has a time window — `--days N` (default 30); a repository that released or committed inside it ranks above one that did not, whatever its score, and the `why` says what moved. `4.1.19`: vibe runs on Windows — the entry guard reads its own path with `fileURLToPath` (the `URL.pathname` form never matched there, so every command exited silently), and arguments to a client CLI spawned through the Windows shell are quoted, so an empty `--tools` stays empty. `4.1.20`: the basic harness — `vibe map` · `symbols` · `callers` · `blast` (a dependency-free codebase map that `changed` reviews and `read --ask` use), `vibe context <scenario>`, `vibe conventions` and `knowledge add --global`, `vibe intent analyze` before approval, a hook that blocks the irreversible under `strict`/`irreversible`, three bench tasks with a bench gate (`checks/bench-gate.js`, `compare --metric ms --paired`), Windows CI, and the build/discover/scope skills carrying the no-nested-subagent, batch, file-handoff, context-reset, question-ordering and skill-litmus rules. `4.1.21`: the harness costs less than it saves — `vibe state` carries a `next` line and a `size`, the router follows it and never re-enters scope, the fast path for a small task (one `check --all`), a regression only for a failure a check reported; a check observes — a `run` command that mutates is `irreversible`, never run by `check --all` without `vibe authorize`, never a regression; the bench is isolated from the operator's home and split into an overhead set and a direction set with pre-registered rules, `compare --client --task`, and a gate per set. The first clean bench (4.1.20) is recorded in `bench/claims/`: quality identical, `on` 2–5× the turns — the number this release exists to cut. `4.1.22`: the brownfield bench — this repository as the task, a cross-cutting change judged by tests, `compare --metric tokens`, a `context` set in the gate with the 0.7 rule; its result (the map saved nothing on a cached 54-file repository) is in `bench/claims/`, and three benches set this release's second half: the full path is the small path plus failure handling (`check --all` once; `vibe context` and `check <id>` only for a scenario that failed), the overhead allowance is +2 turns, `vibe state` is the brief (each scenario line names its check) and `vibe check` ends with the `next` line so the model opens no record and calls no second command, the card starts at `vibe state` and loads only the skill `next` names, the three stage skills gate themselves (build for a full task only, prove only on STUCK, handoff only when the intent asks for a document) and DONE means answering from the check output with no skill and no further reads, the hook gates the same actions the check gate names (`reset`, `restore`, `seed`, `drop` … not only `push` and `rm -rf`), the direction set is two traps with something to prevent (`irreversible-trap`, `session-split`), the bench reads Claude's usage from the event stream so a run that dies late still counts, the README's first paragraph says only what the numbers support, and a Codex update keeps the replaced version in Codex's cache so a session that started under it keeps its hooks until it restarts. `4.1.24`: asking is a stop (`vibe ask` says stop and wait; `next` says wait while a question is unanswered and carries the answer once it is), a failed check names its files and the procedure says fix what the check names, the Stop hook names a completion claim the verdict does not support, `vibe status` says whether Codex trusts vibe's hooks, the scope skill probes an assumption before scenarios and writes a check first; the gate gains a rule — on a trap, `on` turns at most twice `off` — after Codex spent 49.8 turns against 16.2 on `ask` in 4.1.23 (29.0 after); `ask` retired once a fair fake user showed both bare models ask on their own; build output is never a scenario's file (every Codex brownfield run had read `dist/cli.js`), which took Codex's brownfield from 0.75× to 0.50×. `4.1.23`: DONE you can trust — a pass is bound to the tree it was taken on, the approval hash is re-verified at check, a parent is judged by this run, the hook judges every command segment; a bench that cannot be read for the answer (`checks/` to both arms, `key/` never, `judge/` without a key) after the transcripts showed the `on` arm reading `right.cjs` and `expected.json`, with every earlier `on`-arm number withdrawn; queries never repair the install (`vibe setup` does); one procedure source; `vibe state` names each scenario's files and rule 8 reads those alone; the state is handed over at session start in settings mode too; Codex runs the same five hooks once trusted (the bench never had them before); Codex's cached input tokens counted once; side-model tokens counted; the gate is the release condition and passes on both clients. Bench runs through the day (`bench/claims/2026-09-09-4.1.22*.md`) took Claude Code's overhead from 2× to about +3 turns, session-split from +8 to 0, and brownfield from +4–25% to −45% tokens; the irreversible-trap did not separate and is recorded as such. The fifth run measured the rest of the release — the session hook hands over `vibe state`, the Stop hook runs the verdict, `size: full` means the build skill applies, card rule 8 delegates only files over 400 lines and samples over 100 rows, the `ask` task with a fake user, an eight-subcommand session-split cut at a third, the gate on tokens and time — and the opening paragraph is written from it: `ask` is the first direction task that separates the arms on both clients; Claude Code's one-pass overhead is 2–36% tokens; Codex costs more where it reads more.
|
|
195
|
+
`4.0.0` — phase 1: CLI core + Claude Code. Phase 2: Codex CLI and ChatGPT desktop adapters, the work graph and typed ledger edges. Phase 3a: `http` / `eval` checks, column sums, sample profiling. Phase 3b: GitHub research, project-local skills and proposals. Phase 3c: the end-to-end order-settlement example. Phase 4: the bench and `ledger compare --by harness`. `4.0.2`: no `init` — the card, skills and hook live in the client home and any `vibe` command repairs them. `4.0.3`: `vibe uninstall` also clears what an older `init` left in the project. `4.1.0`: the package is the plugin — `npm i -g` registers a local plugin in Claude Code and Codex/ChatGPT, Hermes Agent joins as a client, `vibe plugin build --check` gates manifest drift. `4.1.1`: `vibe update`. `4.1.2`: the Claude desktop app through an MCP Bundle (`vibe plugin mcpb`). `4.1.3`: the bundle finds the CLI without the shell's PATH (Homebrew, nvm, fnm, volta) or from a path set at install. `4.1.4`: `vibe read` for xlsx · docx · pptx · pdf, `vibe profile` reads xlsx, card rule 8 (read files whole). `4.1.5`: `vibe read` for Hangul hwp · hwpx and html. `4.1.6`: `vibe size`, a built-in file/function size check for any project; the CLI split into modules; the repository's own limit is now per file (400), not a total. `4.1.7`: hook entries left by vibe 3 that point at a missing script are swept at every command, so Claude Code stops reporting them. `4.1.8`: the five stage skills are `vibe-discover` … `vibe-handoff` (a dot is outside the Agent Skills name grammar) and the dotted directories an older install left in a client home are swept; `.vibe/` means one thing — the plugin tree moves to `~/.config/vibe/plugin`, a `.vibe/` counts as a project only when it holds a record, the search stops at `.git` and never lands on the home, `vibe state` shows `root`, a `run` check that exits 127 names its cwd; the `review` check and the `antislop-ko` · `antislop-en` language packs — the harness runs a copy editor and a chief editor on human-read text and passes only on `PASS`. vibe 3 stays on its 3.x tags and is no longer developed. `4.1.9`: Codex follows `vibe update` — the version Codex actually holds is read from its cache, compared with the package and re-registered (remove + add) when behind; a marketplace entry still pointing at the ≤ 4.1.7 store is drift; `vibe status` reports the Codex plugin version it read, not the package version. `4.1.10`: `vibe read --ask` — the harness reads for the model: files (numbered) go to a low-reasoning reader on the client CLI and only the answer returns; the reader runs slim (own system prompt, no tools, no settings, neutral directory) and one session per file set is resumed for follow-up questions so the corpus is read from cache, with the hit reported; the hook advises `--ask` on reads over 400 lines; card rule 8 says when to delegate; the `review` check's Codex command gets `--skip-git-repo-check`. Also: `regress record` made ids longer than the 40-character rule, so every recorded regression was silently left out of `check --all` — the id now fits, a file that parses to nothing is named in `vibe state`, and the repository's four regressions run again. `4.1.11`: antislop reaches design — `antislop-design` and its two reviewers (markup reviewer, art director) join the text packs, reviewer stages are data (`reviewers/<pack>/N-<stage>.md`), the `review` check takes `pack`, a directory of source and a `screenshot`; the text packs gain strength tiers, five questions before a cut, the portability test, notes-to-the-writer, sample-outranks-rules and a what-is-not-a-tell list, and the reviewers may name what to keep. `4.1.12`: the agent's own report is not slop — card rule 9 (what changed apart from what `vibe check` verified; keep the caveat that changes the next step; an error is its cause and fix; answer first, no praise, apology or closing offer) and a Report voice section in `vibe-handoff` (each Built line names its check and run or says "not checked"; estimates in turns and tool calls, never calendar time; the handoff document follows `antislop-en`). `4.1.13`: the deterministic pre-gate — `file … absent` (a regex that must match nowhere: placeholders, a writer's note in double square brackets that was reprinted into the artifact), proposed by the scope skill next to every `review`; this repository gates its own documents the same way. No word lists, no dash counts: the judgment stays with the reviewers. `4.1.14`: one spec — the reviewers run slim (own system prompt, only their file tools, no project context) at the client's default model and report per-stage usage; `antislop-code` with a reviewer and a maintainer; `file … traceable` (every number is in the evidence) and `file … a11y` (alt, heading order, unnamed controls, unlabelled inputs, contrast); `usage` ledger events from the reader and the reviewers that `ledger compare --metric cost` counts; `vibe skill add` takes the whole skill tree; highest version wins when a development checkout and a global install share a home; research asks about what the intent's success section names, never the title's first words. `4.1.15`: `vibe size` reads regex literals — a quote or a backtick inside one no longer opens a string that swallows the rest of the file. `4.1.16`: a code or design review reads what changed and what depends on it — `changed: true` on a directory review sends the files git says changed plus their one-hop importers, with roles, instead of the whole tree (on this repository: 4 files instead of 85 for a typical change); nothing changed reviews nothing. `4.1.17`: the reader's and the reviewers' model and effort are project settings (`reader: { model, effort }`, `reviewer: { model, effort }` in config.json, four env overrides); vibe keeps no model catalogue. `4.1.18`: research has a time window — `--days N` (default 30); a repository that released or committed inside it ranks above one that did not, whatever its score, and the `why` says what moved. `4.1.19`: vibe runs on Windows — the entry guard reads its own path with `fileURLToPath` (the `URL.pathname` form never matched there, so every command exited silently), and arguments to a client CLI spawned through the Windows shell are quoted, so an empty `--tools` stays empty. `4.1.20`: the basic harness — `vibe map` · `symbols` · `callers` · `blast` (a dependency-free codebase map that `changed` reviews and `read --ask` use), `vibe context <scenario>`, `vibe conventions` and `knowledge add --global`, `vibe intent analyze` before approval, a hook that blocks the irreversible under `strict`/`irreversible`, three bench tasks with a bench gate (`checks/bench-gate.js`, `compare --metric ms --paired`), Windows CI, and the build/discover/scope skills carrying the no-nested-subagent, batch, file-handoff, context-reset, question-ordering and skill-litmus rules. `4.1.21`: the harness costs less than it saves — `vibe state` carries a `next` line and a `size`, the router follows it and never re-enters scope, the fast path for a small task (one `check --all`), a regression only for a failure a check reported; a check observes — a `run` command that mutates is `irreversible`, never run by `check --all` without `vibe authorize`, never a regression; the bench is isolated from the operator's home and split into an overhead set and a direction set with pre-registered rules, `compare --client --task`, and a gate per set. The first clean bench (4.1.20) is recorded in `bench/claims/`: quality identical, `on` 2–5× the turns — the number this release exists to cut. `4.1.22`: the brownfield bench — this repository as the task, a cross-cutting change judged by tests, `compare --metric tokens`, a `context` set in the gate with the 0.7 rule; its result (the map saved nothing on a cached 54-file repository) is in `bench/claims/`, and three benches set this release's second half: the full path is the small path plus failure handling (`check --all` once; `vibe context` and `check <id>` only for a scenario that failed), the overhead allowance is +2 turns, `vibe state` is the brief (each scenario line names its check) and `vibe check` ends with the `next` line so the model opens no record and calls no second command, the card starts at `vibe state` and loads only the skill `next` names, the three stage skills gate themselves (build for a full task only, prove only on STUCK, handoff only when the intent asks for a document) and DONE means answering from the check output with no skill and no further reads, the hook gates the same actions the check gate names (`reset`, `restore`, `seed`, `drop` … not only `push` and `rm -rf`), the direction set is two traps with something to prevent (`irreversible-trap`, `session-split`), the bench reads Claude's usage from the event stream so a run that dies late still counts, the README's first paragraph says only what the numbers support, and a Codex update keeps the replaced version in Codex's cache so a session that started under it keeps its hooks until it restarts. `4.1.25`: the bench measures the whole flow — a `scoped` arm in which vibe scopes for itself from the brief (card, skills, hooks, no intent; `vibe profile` names a negative amount, a repeated id and a rare category value), the `handover` task (one task, two clients) and `anomaly` (built, measured, retired: bare models read the finance document on their own), one client per session on a two-session task, and the gate with three arms. The gate itself was fixed after an outside review found that missing evidence could pass it, that a scoped improvement hid an `on` regression, and that a three-arm `compare` silently judged the first two; the token policy defaults to `off`; project discovery and creation stop at the home and the system temp root; the hook no longer gates `vibe authorize` itself or a path that merely contains a word like `reset`. `4.1.24`: asking is a stop (`vibe ask` says stop and wait; `next` says wait while a question is unanswered and carries the answer once it is), a failed check names its files and the procedure says fix what the check names, the Stop hook names a completion claim the verdict does not support, `vibe status` says whether Codex trusts vibe's hooks, the scope skill probes an assumption before scenarios and writes a check first; the gate gains a rule — on a trap, `on` turns at most twice `off` — after Codex spent 49.8 turns against 16.2 on `ask` in 4.1.23 (29.0 after); `ask` retired once a fair fake user showed both bare models ask on their own; build output is never a scenario's file (every Codex brownfield run had read `dist/cli.js`), which took Codex's brownfield from 0.75× to 0.50×. `4.1.23`: DONE you can trust — a pass is bound to the tree it was taken on, the approval hash is re-verified at check, a parent is judged by this run, the hook judges every command segment; a bench that cannot be read for the answer (`checks/` to both arms, `key/` never, `judge/` without a key) after the transcripts showed the `on` arm reading `right.cjs` and `expected.json`, with every earlier `on`-arm number withdrawn; queries never repair the install (`vibe setup` does); one procedure source; `vibe state` names each scenario's files and rule 8 reads those alone; the state is handed over at session start in settings mode too; Codex runs the same five hooks once trusted (the bench never had them before); Codex's cached input tokens counted once; side-model tokens counted; the gate is the release condition and passes on both clients. Bench runs through the day (`bench/claims/2026-09-09-4.1.22*.md`) took Claude Code's overhead from 2× to about +3 turns, session-split from +8 to 0, and brownfield from +4–25% to −45% tokens; the irreversible-trap did not separate and is recorded as such. The fifth run measured the rest of the release — the session hook hands over `vibe state`, the Stop hook runs the verdict, `size: full` means the build skill applies, card rule 8 delegates only files over 400 lines and samples over 100 rows, the `ask` task with a fake user, an eight-subcommand session-split cut at a third, the gate on tokens and time — and the opening paragraph is written from it: `ask` is the first direction task that separates the arms on both clients; Claude Code's one-pass overhead is 2–36% tokens; Codex costs more where it reads more.
|
|
164
196
|
|
|
165
197
|
## Bench — the ledger is the benchmark
|
|
166
198
|
|
|
167
|
-
`bench/run.js`
|
|
199
|
+
`bench/run.js` gives each arm the same public evidence and runnable check capability. `on` receives a public scope; `scoped` writes its own. Approval snapshots retain the agent's scope and check files, and private grading runs in a separate copy. Agent verification and the private artifact score are recorded separately. New-protocol experiments use an isolated ledger; the 4.1.25 ledger stays fixed. See `bench/README.md` for the cohort and comparison rules.
|
|
168
200
|
|
|
169
201
|
## The basic harness — structure, context, conventions, a gate at the tool call
|
|
170
202
|
|
|
171
|
-
|
|
203
|
+
The mechanisms below support the FDE procedure. Their effect on a particular task is a measurement, not a guarantee of a better answer.
|
|
172
204
|
|
|
173
205
|
- **`vibe map [path]`** builds the codebase map — files, symbols with a one-line signature and line range, import edges — from the lexers `vibe size` already has (ts js py go java kt rs swift rb cs php), cached by content hash under `.vibe/cache/map.json` so a warm run re-reads only what changed. `vibe symbols <file>` is a file's skeleton; `vibe callers <symbol> [--depth N]` names who calls it, each caller marked `import` (the edge is confirmed) or `name` (the name alone); `vibe blast` takes the working tree's changed symbols from `git diff` and follows their callers. A `review … changed: true` on code takes its dependents from `blast`, and the bundle opens with the changed and affected symbols; `vibe read --ask` on code prepends each file's skeleton.
|
|
174
|
-
- **`vibe context <scenario>`** hands the model what one scenario needs, most relevant first and each with its source: the check,
|
|
206
|
+
- **`vibe context <scenario>`** hands the model what one scenario needs, most relevant first and each with its source: the check, files, nearby symbols, conventions, relevant ledger events and knowledge notes, within 12,000 characters. Use it when the files named by a failed check do not answer the question; it is not a mandatory read before building.
|
|
175
207
|
- **`vibe conventions`** writes `.vibe/knowledge/conventions.md`: what the repository declares (lint and formatter configs, `tsconfig` strictness, the test and lint scripts, an `AGENTS.md` heading) and what the harness learned — a REJECT reason or a KEEP line that recurs, every regression title, every decision recorded at approval — one line each with its source, append-only. `vibe knowledge add --global` keeps a note under `~/.config/vibe/knowledge/` for every project.
|
|
176
208
|
- **`vibe intent analyze`** is the read-only check before approval: each bullet of "What counts as success" against the scenarios — `uncovered` bullets, `unrequested` scenarios, a `human` check where a file or a command is named is `weak`. The scope skill resolves `uncovered` before it asks for the approval.
|
|
177
|
-
- **The hooks
|
|
178
|
-
- **The hook gates the irreversible.** Under the `strict` and `irreversible` token policies the `PreToolUse` hook blocks (exit 2) a command with no authorize record in the last ten minutes that does what the check gate calls irreversible — `restore`, `reset`, `drop`, `truncate`, `seed`, `migrate … down`, `rm -rf`, `git push`, `deploy`, `publish`, `terraform apply`, plus a send — the same action words `vibe authorize --action` takes, so a blocked tool call and a blocked check ask for the same record; a command that only reads (`grep`, `cat`, `git log` …) is never gated; under `off` it warns, and `vibe tokens off` says once that `off` belongs inside a container or a VM.
|
|
209
|
+
- **The hooks report bounded status.** SessionStart hands over the card when needed and reports the explicit session/worktree association. Stop reads existing check proof and can release unfinished work without calling it complete; it never executes the next step. Run `vibe state` for the procedure and `vibe check` for a verdict. Claude Code and Codex use the same packaged readers once the client trusts the hooks; client trust does not turn repository text or a copied ledger into a session binding.
|
|
210
|
+
- **The hook gates the irreversible.** Under the `strict` and `irreversible` token policies (opt-in: the default is `off`) the `PreToolUse` hook blocks (exit 2) a command with no authorize record in the last ten minutes that does what the check gate calls irreversible — `restore`, `reset`, `drop`, `truncate`, `seed`, `migrate … down`, `rm -rf`, `git push`, `deploy`, `publish`, `terraform apply`, plus a send — the same action words `vibe authorize --action` takes, so a blocked tool call and a blocked check ask for the same record; a command that only reads (`grep`, `cat`, `git log` …) is never gated; under `off` it warns, and `vibe tokens off` says once that `off` belongs inside a container or a VM.
|
|
179
211
|
- **Other tools are used when present, never listed.** `graft` and `trace` (map, callers, blast), `claude` and `codex` (reader, reviewer), `pdftotext` (pdf), `agent-browser` and `playwright` (a screenshot for the art director) are detected and used through one convention; absent, vibe does the work itself. The scope skill puts a one-line install in the approval message when a project would use one. Nothing is installed by vibe, and `vibe status` shows the install, not a tool table.
|
|
180
212
|
- **The bench is a gate.** `bench/tasks/` holds three deterministic tasks (`settlement`, `vibe-fix`, `report`); `bench/run.js --task all --parallel 4` runs the arms side by side and records turns, reported cost, cost recomputed from tokens with the published cache multipliers, tokens by kind, wall-clock and pass; `vibe ledger compare --metric ms --paired` compares only runs both arms passed; `checks/bench-gate.js` passes when every task has five runs per arm and the `on` arm is not worse on checks. A release that claims a saving writes the claim in its intent before the bench runs and quotes the verdict; a claim that lands `inconclusive` is not made.
|
|
181
|
-
- **`vibe state` says what to do next.** Its `next` line is the procedure — `build a, b, c — then one vibe check --all` · `approve — …` · `report — DONE r-3; …` — each scenario line names its check (`— check: node --test tests/add.test.cjs`) and, for a scenario still to pass, the files it is about (`— files: …` — the check's files plus one hop of imports from the codebase map, built on the way), so the state is the brief, no record needs opening, and card rule 8 says: read whole what the state names, open nothing else until a check fails; `vibe check` ends with the same `next` line; the card starts at `vibe state` and loads only the skill `next` names;
|
|
213
|
+
- **`vibe state` says what to do next.** Its `next` line is the procedure — `build a, b, c — then one vibe check --all` · `approve — …` · `report — DONE r-3; …` — each scenario line names its check (`— check: node --test tests/add.test.cjs`) and, for a scenario still to pass, the files it is about (`— files: …` — the check's files plus one hop of imports from the codebase map, built on the way), so the state is the brief, no record needs opening, and card rule 8 says: read whole what the state names, open nothing else until a check fails; `vibe check` ends with the same `next` line; the card starts at `vibe state` and loads only the skill `next` names; the model reuses an approved intent unless the requested outcome, constraints, or evidence basis changes. Every size takes the **fast path**: build everything, then one `check --all`, no `vibe context` before building, no HANDOFF.md unless the intent asks, and no check after DONE; `size: full` (an irreversible scenario, a review/http/eval check, a needs chain two deep, or more than eight scenarios — a count of five is not a reason) adds only the failure handling — `vibe context <id>` and `vibe check <id>` for a scenario that failed. `vibe map` and `vibe context` are tools for a question, not steps. A regression is recorded only for a failure `vibe check` reported, never for the task's own bug. This is what the first clean bench said the harness was paying for: procedure, on tasks that did not need it.
|
|
182
214
|
- **A check observes.** A `run` command that would change the world — `restore`, `reset`, `drop`, `truncate`, `seed`, `migrate … down/fresh/rollback`, `rm -rf`, `git push`, `deploy`, `publish`, `terraform apply` — is detected at parse time and marked `irreversible` with its action (a scenario may declare its own). `vibe check --all` and `vibe check <id>` never execute an irreversible scenario without an `authorize` record for that action in the last ten minutes: the outcome is `blocked` with the reason, DONE stays out of reach, the run is not STUCK for it. `vibe regress record` refuses to copy such a check. This is the fix for an incident where a regression that carried a database restore was re-run by `check --all` after seeding and overwrote the seed.
|
|
183
|
-
- **The
|
|
215
|
+
- **The existing release sets retain their rules.** Overhead (`settlement`, `vibe-fix`, `report`) requires `on` weighted input tokens ≤ `off` × 1.25 and time ≤ `off` × 1.5, without a quality regression. Direction contains `handover` and `session-split`: `on` must retain quality and use no more weighted input tokens over the sessions. Context is `brownfield`, described below. `anomaly`, `ask`, `irreversible-trap`, `hidden-requirement`, `regression-trap`, `long-context`, and `ambiguous-brief` remain retired diagnostics runnable by name. The separate discovery cohort measures agreement quality and whole-flow cost; it does not change those historical thresholds or require a contrived trap to separate.
|
|
184
216
|
- **The context set.** `brownfield` is this repository at the release commit, built, with one cross-cutting change to make (a `lines` rule for the `file` check, wired through validation, the check, the README table and the scope skill), judged by tests; five scenarios, so the `on` arm runs `full` with the map and `vibe context` on. `vibe ledger compare --metric tokens` compares weighted input (`input + 0.1 × cacheRead + 1.25 × cacheWrite`); the pre-registered rule is `on` ≤ `off` × 0.7 at equal quality — the saving Graft measures on rediscovery, measured here on vibe's own map.
|
|
185
217
|
- CI runs the platform-independent tests on Windows as well as Linux and drives the CLI through npm's `.cmd` shim (`vibe --version`, `vibe state`, `vibe read --ask` against a fake reader); the fixtures that fake a client CLI with a POSIX shim stay Linux-only until they are ported.
|
|
186
218
|
|
package/card.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
You work inside vibe. Rules:
|
|
2
|
-
1. Start
|
|
3
|
-
2.
|
|
4
|
-
3.
|
|
5
|
-
4. Same failure twice:
|
|
6
|
-
5.
|
|
7
|
-
6. `vibe regress record` only for
|
|
8
|
-
7.
|
|
9
|
-
8. Read
|
|
10
|
-
9. Report
|
|
2
|
+
1. Start `vibe state`; follow `next` and its skill. Bind the host with `vibe session bind`.
|
|
3
|
+
2. Build all first, then one `vibe check --all`; on a failure, fix what the check names; `vibe context <id>` when that is not enough. DONE is its verdict. Stop never checks.
|
|
4
|
+
3. Token: show it, wait in chat; never invent it.
|
|
5
|
+
4. Same failure twice: diagnose and change approach; ask at five or outside authority.
|
|
6
|
+
5. At most three unasked findings, with reasons.
|
|
7
|
+
6. `vibe regress record` only for fixed `vibe check` failures.
|
|
8
|
+
7. User's language in chat; English records.
|
|
9
|
+
8. Read fewer files from state, in full: Claude Read, Codex `cat`. grep/rg/find locate only; never content slices. Over 400 lines, not editing: `vibe read --ask`. Office: `vibe read`; samples over 100 rows: `vibe profile`; images: your eyes.
|
|
10
|
+
9. Report changes and evidence; unchecked is unverified. Give cause/fix and next-step limits. Answer first; no praise or offer.
|
package/dist/cli/common.js
CHANGED
|
@@ -3,7 +3,7 @@ import path from 'node:path';
|
|
|
3
3
|
import { usage } from '../core/errors.js';
|
|
4
4
|
import { packageRoot } from '../core/paths.js';
|
|
5
5
|
import { readJson } from '../core/store.js';
|
|
6
|
-
const BOOLEAN_FLAGS = new Set(['json', 'all', 'stdin', 'purge-state', 'dry-run', 'yes', 'help', 'version']);
|
|
6
|
+
const BOOLEAN_FLAGS = new Set(['json', 'all', 'stdin', 'purge-state', 'dry-run', 'yes', 'help', 'version', 'preview', 'diagnostics']);
|
|
7
7
|
export function parseArgs(argv) {
|
|
8
8
|
const positionals = [];
|
|
9
9
|
const flags = {};
|
|
@@ -39,7 +39,9 @@ export const HELP = `vibe — an AX/FDE harness. The harness judges; a human app
|
|
|
39
39
|
plugin build [--check] (manifests from package.json) · plugin mcpb [--out vibe.mcpb] (Claude desktop app bundle) · plugin install | status [--home <dir>]
|
|
40
40
|
work state [--graph] · read <file…> [--sheet] [--pages] (xlsx·docx·pptx·pdf·hwp·hwpx·html·tables·code) · read <file…> --ask "question" (a low-reasoning model reads, only the answer returns)
|
|
41
41
|
profile <file> [--sheet] (csv·tsv·jsonl·json·xlsx) · intent draft <intent.md> <scenarios.yaml> | --stdin · intent show
|
|
42
|
-
approve [token] · check [id…] [--all] · evidence [run]
|
|
42
|
+
intent inspect [intent.md scenarios.yaml] · approve [token] [--preview] · check [id…] [--all] [--diagnostics] · evidence [run]
|
|
43
|
+
abandon --reason "…" [--scenario id --category environment --next "…" --owner "…"] · reopen <scenario> --reason "…"
|
|
44
|
+
session bind [--session id] · session status [--session id] (Stop reports this worktree; it never checks)
|
|
43
45
|
checks run (exit code; a mutating command is irreversible and needs vibe authorize) · file (exists·pattern·contains·absent·schema·sum·traceable·a11y) · http (status·schema·maxMs) · eval (matching cases ≥ expect.pass)
|
|
44
46
|
review (pack ko|en|design|code, path, changed, screenshot — two reviewer stages, PASS only) · human (inbox, no verdict)
|
|
45
47
|
size [paths…] [--max-file 400] [--max-function 50] — a built-in check for a scenario: exit 1 when a file or function is over
|
package/dist/cli/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/cli/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAa5C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/cli/common.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/human.js
CHANGED
|
@@ -8,18 +8,21 @@ import { verifyAndConsume } from '../core/tokens.js';
|
|
|
8
8
|
import { ensureProject } from '../install/project.js';
|
|
9
9
|
import { flagString } from './common.js';
|
|
10
10
|
export function cmdAsk(root, args, flags) {
|
|
11
|
-
|
|
12
|
-
const question = args.join(' ');
|
|
11
|
+
const question = args.join(' ').trim();
|
|
13
12
|
if (!question)
|
|
14
13
|
throw usage('ask "question"');
|
|
15
14
|
const options = flagString(flags, 'options')?.split('|').map((s) => s.trim()).filter(Boolean);
|
|
16
15
|
const needsRaw = flagString(flags, 'needs');
|
|
16
|
+
if (!/[??]/u.test(question) && !options?.length && !needsRaw) {
|
|
17
|
+
throw usage('vibe ask is for questions only the user can answer; report results in chat');
|
|
18
|
+
}
|
|
19
|
+
ensureProject(root);
|
|
17
20
|
let needs;
|
|
18
21
|
const policy = readConfig(root).tokens;
|
|
19
22
|
if (needsRaw === 'approve') {
|
|
20
23
|
const state = readState(root);
|
|
21
|
-
if (
|
|
22
|
-
throw denied('an approval token
|
|
24
|
+
if (!['DRAFT', 'APPROVED', 'RUNNING', 'STUCK', 'DONE'].includes(state.state) || !state.intentHash)
|
|
25
|
+
throw denied('an approval token needs an active drafted contract');
|
|
23
26
|
if (policy === 'strict')
|
|
24
27
|
needs = { kind: 'approve', target: state.intentHash };
|
|
25
28
|
}
|
package/dist/cli/human.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human.js","sourceRoot":"","sources":["../../src/cli/human.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AAElE,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAc,EAAE,KAAY;IAC/D,
|
|
1
|
+
{"version":3,"file":"human.js","sourceRoot":"","sources":["../../src/cli/human.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AAElE,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAc,EAAE,KAAY;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAC5F,CAAC;IACD,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,IAAI,KAAoE,CAAC;IACzE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,MAAM,MAAM,CAAC,oDAAoD,CAAC,CAAC;QACtK,IAAI,MAAM,KAAK,QAAQ;YAAE,KAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IACjF,CAAC;SAAM,IAAI,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,sBAAsB,CAAC,MAAM,CAAC;YAAE,KAAK,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;IAC9H,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAA8B,EAAE,QAAQ,EAAE,CAAC;IACtD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACvD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,IAAI,GAAG;QAAE,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAC7B,IAAI,KAAK;QAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7G,MAAM,IAAI,GAAG;QACX,sBAAsB,MAAM,CAAC,EAAE,GAAG;QAClC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,iBAAiB,MAAM,CAAC,SAAS,kEAAkE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpJ,GAAG,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,MAAM,oDAAoD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,yEAAyE,MAAM,CAAC,EAAE,gDAAgD;KACnI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAc,EAAE,KAAY;IACrE,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,MAAM,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,KAAK,GAAqB,MAAM,CAAC;IACrC,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,MAAM,MAAM,CAAC,IAAI,MAAM,uCAAuC,MAAM,GAAG,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,KAAK,GAAG,OAAO,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;IACpH,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,MAAM,QAAQ,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAuB,EAAE,IAAc;IAC5E,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,MAAM,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,EAAE;YAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAAE,MAAM,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC9N,CAAC"}
|
package/dist/cli/memory.js
CHANGED
|
@@ -181,7 +181,7 @@ export function cmdLedger(root, sub, args, flags) {
|
|
|
181
181
|
const text = [
|
|
182
182
|
`compare by ${by} · metric ${metric}${paired ? ' · paired' : ''}${fClient ? ` · client ${fClient}` : ''}${fTask ? ` · task ${fTask}` : ''} · verdict ${c.verdict}`,
|
|
183
183
|
` ${c.reason}`,
|
|
184
|
-
...c.arms.map((a) => ` ${a.arm}: runs ${a.runs} · usable ${a.usable}${a.range ? ` · min ${a.range.min} · max ${a.range.max} · mean ${a.range.mean.toFixed(2)}` : ''}${a.costMismatch ? ` · costMismatch ${a.costMismatch}` : ''}`),
|
|
184
|
+
...c.arms.map((a) => ` ${a.arm}: runs ${a.runs} · usable ${a.usable} · stalled ${a.stalled}${a.range ? ` · min ${a.range.min} · max ${a.range.max} · mean ${a.range.mean.toFixed(2)}` : ''}${a.costMismatch ? ` · costMismatch ${a.costMismatch}` : ''}`),
|
|
185
185
|
...(c.delta !== null ? [` delta ${c.delta.toFixed(2)} (absolute units)`] : []),
|
|
186
186
|
].join('\n');
|
|
187
187
|
return { json: c, text, code: 0 };
|
package/dist/cli/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/cli/memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/cli/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { bindSession, sessionStatus } from '../core/session.js';
|
|
2
|
+
import { usage } from '../core/errors.js';
|
|
3
|
+
import { flagString } from './common.js';
|
|
4
|
+
export function cmdSession(root, sub, flags) {
|
|
5
|
+
const requested = flagString(flags, 'session');
|
|
6
|
+
if (sub === 'bind') {
|
|
7
|
+
const view = bindSession(root, requested);
|
|
8
|
+
return { json: view, text: `Session bound to ${view.root}; revision ${view.revision}. Stop reports status; explicit checks still determine completion.`, code: 0 };
|
|
9
|
+
}
|
|
10
|
+
if (sub === 'status') {
|
|
11
|
+
const view = sessionStatus(requested);
|
|
12
|
+
return { json: view, text: `${view.status}; root=${view.root ?? 'unavailable'}; revision=${view.revision ?? 'unavailable'}; no check executed`, code: view.status === 'bound' ? 0 : 1 };
|
|
13
|
+
}
|
|
14
|
+
throw usage('session bind [--session id] | session status [--session id]');
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAA2B,MAAM,aAAa,CAAC;AAElE,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,GAAuB,EAAE,KAAY;IAC5E,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,QAAQ,oEAAoE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrK,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,IAAI,IAAI,aAAa,cAAc,IAAI,CAAC,QAAQ,IAAI,aAAa,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1L,CAAC;IACD,MAAM,KAAK,CAAC,6DAA6D,CAAC,CAAC;AAC7E,CAAC"}
|