@su-record/vibe 4.2.2 → 4.2.3

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": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
9
- "version": "4.2.2"
9
+ "version": "4.2.3"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "vibe",
14
14
  "source": "./",
15
15
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
16
- "version": "4.2.2",
16
+ "version": "4.2.3",
17
17
  "category": "productivity"
18
18
  }
19
19
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe",
3
- "version": "4.2.2",
3
+ "version": "4.2.3",
4
4
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
5
5
  "author": {
6
6
  "name": "su-record",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe",
3
- "version": "4.2.2",
3
+ "version": "4.2.3",
4
4
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
5
5
  "author": {
6
6
  "name": "su-record",
@@ -3,7 +3,7 @@ import path from 'node:path';
3
3
  import { packageRoot, vibePath } from '../core/paths.js';
4
4
  import { globalKnowledgeDir } from '../core/knowledge.js';
5
5
  import { usage } from '../core/errors.js';
6
- const GUIDES = ['discover', 'reading', 'delivery', 'extensions', 'optimization', 'feasibility', 'verification', 'explanation', 'code', 'design', 'ko', 'en'];
6
+ const GUIDES = ['discover', 'fieldwork', 'reading', 'delivery', 'extensions', 'optimization', 'feasibility', 'verification', 'explanation', 'code', 'design', 'ko', 'en'];
7
7
  function boundedText(file, limit) {
8
8
  const stat = fs.lstatSync(file, { throwIfNoEntry: false });
9
9
  if (!stat?.isFile() || stat.size > limit)
@@ -13,8 +13,11 @@ function boundedText(file, limit) {
13
13
  function noteFiles(directory) {
14
14
  if (!fs.lstatSync(directory, { throwIfNoEntry: false })?.isDirectory())
15
15
  return [];
16
- return fs.readdirSync(directory).filter(name => name.endsWith('.md')).sort().slice(0, 20)
17
- .map(name => path.join(directory, name));
16
+ const priority = ['corrections.md', 'work-context.md', 'reuse.md'];
17
+ const names = fs.readdirSync(directory, { withFileTypes: true })
18
+ .filter(entry => entry.isFile() && entry.name.endsWith('.md')).map(entry => entry.name);
19
+ return [...priority.filter(name => names.includes(name)), ...names.filter(name => !priority.includes(name)).sort()]
20
+ .slice(0, 20).map(name => path.join(directory, name));
18
21
  }
19
22
  function brief(root, includeEntry) {
20
23
  const intent = boundedText(vibePath(root, 'intent.md'), 6000);
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/cli/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/cli/internal.ts"],"names":[],"mappings":"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"}
@@ -11,3 +11,5 @@ For consequential changes, use the verification guide and declare risk obligatio
11
11
  Verify the result at the point of use. For a UI, exercise the changed input and observe the resulting state; for a generated document, inspect its rendered content; for an integration, observe the downstream effect when authorized. A successful process launch, screenshot file or output filename alone does not establish usable behavior. Select the cheapest observation that tests the promise; do not require recordings or another model for every task. For uncertain platform capabilities, load the feasibility guide before expanding implementation.
12
12
 
13
13
  Retain a concise failure note only when it prevents likely repeated work: symptom, affected version/environment, smallest diagnostic, confirmed cause or remaining hypothesis, correction and supporting evidence. Update an existing note instead of accumulating copies. Do not generalize one incident beyond its evidence.
14
+
15
+ Use the fieldwork guide when local success differs from actual use or a workaround recurs. Retain the remaining target-environment observation, apply confirmed corrections to future behavior, and distinguish temporary fixes from justified reusable capabilities.
@@ -9,3 +9,5 @@ Agree on observable behavior, implement against real samples and validate change
9
9
  For substantial source documents or focused questions across files, use the reading guide to choose local extraction, direct reading or an optional reader model. Preserve source references and extraction limitations.
10
10
 
11
11
  When source observations reveal repeated manual work, unfamiliar formats or recurring failures, consider the extensions guide even if direct implementation is possible. Look for a concrete benefit and reuse installed capabilities and prior findings first.
12
+
13
+ For recurring operations, use the fieldwork guide to learn the actual meanings, transitions and exception handling from accessible work. Check what an existing manual step enables before replacing it.
@@ -0,0 +1,17 @@
1
+ # Learn from the user's actual work
2
+
3
+ Use when understanding a recurring workflow, resolving a mismatch between tests and actual use, applying a user correction, or deciding whether a repeated fix should become a reusable capability. Ordinary isolated edits need no extra discovery stage.
4
+
5
+ Start with the conversation and relevant existing knowledge. Observe accessible samples, actual outputs and how the user currently completes the task. Identify only the concepts and actions needed for this outcome: what the user means by a record/document/customer, what changes its state, who decides, and what happens on an exception. Record local meanings rather than imposing textbook definitions. A schema describes stored fields; it may not explain what those fields mean. Distinguish observed facts, user-confirmed decisions and hypotheses with their source, date and applicable environment. Ask about a consequential gap only after checking available evidence; never infer private workplace behavior from a generic interview template.
6
+
7
+ Preserve the ability the current workflow gives the user. Before replacing a format or tool, check how they inspect, edit, approve or recover its output. An inefficient-looking manual step may be their only quality check. Use representative real input within existing authority. A production write is not justified merely to gain realism.
8
+
9
+ Treat corrections as changes to future behavior. Apply the correction to the current work first, then update the relevant existing note with what was wrong, the corrected understanding, scope/source and the next action that should differ. A one-task exception is not a permanent personal preference. Replace the superseded claim or mark it explicitly as superseded; do not leave two competing current rules. Current user instructions and project rules take precedence over saved defaults. Never store credentials or treat a note as new permission.
10
+
11
+ Verify at the point of use when accessible: target OS/app/version, real input, the action the user needs, observable output and important failure/recovery behavior. Keep local tests, target-environment execution and user acceptance separate. If the target is unavailable, record the exact remaining observation in the existing task context and report the implementation's verified scope. Continue other authorized work; do not invent acceptance or require a new model review. On resumption, revisit that observation only when relevant access, input or evidence has changed.
12
+
13
+ When work reveals a repeated workaround, identify its shared cause and consider the existing extensions guide before adding code. Keep one-off fixes local. Promote a solution into a reusable tool/skill only when observed recurrence or a concrete next use justifies maintenance and the user has authorized that implementation scope. Keep project-specific vocabulary/configuration outside general logic. A temporary workaround needs a removal/replacement condition; a reusable capability needs a maintained source and representative checks. Do not rewrite the platform after every task or turn repeated mistakes into a growing blanket prohibition list.
14
+
15
+ Retain only durable, useful findings in the existing knowledge directory. Update an existing relevant file first. When a stable note is needed, `work-context.md` can hold the workflow and open observations, `corrections.md` the currently applicable corrections, and `reuse.md` useful repeated solutions and temporary-workaround exit conditions. These optional filenames are prioritized by the existing brief in project and personal knowledge; they are not three required reports. Existing `knowledge add` with titles `work-context`, `corrections` or `reuse` writes these files, replacing their contents, so read and preserve still-valid content before updating. Personal notes contain confirmed cross-project preferences; project notes contain project-specific operating facts. Do not copy customer material into personal knowledge indiscriminately.
16
+
17
+ Close the learning loop with observable consequences: what became usable, which assumption was corrected, and what the next relevant task can reuse. Report measured improvement only when there is a comparable baseline; otherwise keep it qualitative. Note existence, a passing test and a confident explanation do not establish better agent judgment or business value.
@@ -24,7 +24,7 @@ const TOOLS = [
24
24
  { name: 'vibe_performance', description: 'Inspect recorded check costs, or explicitly measure fixed read-only CLI startup commands. No model calls; output bytes are not tokens.', args: { action: { type: 'string', enum: ['report', 'startup'] } }, required: ['action'], cmd: (a) => ['internal', 'performance', a.action] },
25
25
  { name: 'vibe_knowledge', description: 'Retain a confirmed project fact or personal preference with its source and context. Never store credentials.', args: { title: str('A stable, specific title'), text: str('Confirmed knowledge, with source/context'), global: { type: 'boolean', description: 'Personal knowledge across projects; false for this project' } }, required: ['title', 'text'], cmd: (a) => ['knowledge', 'add', '--stdin', '--title', a.title, ...(a.global ? ['--global'] : [])], stdin: (a) => a.text },
26
26
  { name: 'vibe_brief', description: 'Read compact project context and personal note locations; no checks or model calls.', args: {}, cmd: () => ['internal', 'brief', 'entry'] },
27
- { name: 'vibe_guide', description: 'Read one internal authoring or workflow guide without a model call.', args: { name: str('discover, reading, delivery, extensions, optimization, feasibility, verification, explanation, code, design, ko or en') }, required: ['name'], cmd: (a) => ['internal', 'guide', a.name] },
27
+ { name: 'vibe_guide', description: 'Read one internal authoring or workflow guide without a model call.', args: { name: str('discover, fieldwork, reading, delivery, extensions, optimization, feasibility, verification, explanation, code, design, ko or en') }, required: ['name'], cmd: (a) => ['internal', 'guide', a.name] },
28
28
  { name: 'vibe_read', description: 'Read a document using installed local readers.', args: { file: str('Project-relative file path') }, required: ['file'], cmd: (a) => ['read', a.file] },
29
29
  { name: 'vibe_skill', description: 'List, search, preview/install, create or record use of a project skill. Installation requires existing user authority.', args: { action: { type: 'string', enum: ['list', 'search', 'add', 'create', 'used'] }, value: str('Search query, source reference or skill name'), pin: str('Selected commit for installation'), check: { type: 'string', enum: ['run', 'file', 'http', 'eval'] }, yes: { type: 'boolean', description: 'Confirm the previously reviewed installation within user authority' } }, required: ['action'], cmd: (a) => ['skill', a.action, ...(a.value ? [a.value] : []), ...(a.pin ? ['--pin', a.pin] : []), ...(a.check ? ['--check', a.check] : []), ...(a.yes ? ['--yes'] : [])] },
30
30
  { name: 'vibe_state', description: 'Where the project is: state, stage, scenarios with last results, open inbox items, proposals. Call this first.', args: {}, cmd: () => ['state'] },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@su-record/vibe",
3
- "version": "4.2.2",
3
+ "version": "4.2.3",
4
4
  "description": "Your personal FDE in Claude and Codex. Understand the work, use the right tools, deliver and retain useful context. One entry: vibe.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,6 +16,7 @@ For a tracked implementation, `vibe state --json` and `vibe evidence` provide re
16
16
 
17
17
  ## Deliver useful work
18
18
 
19
+ - For recurring workflows, user corrections, actual-use failures or repeated workarounds, load `vibe internal guide fieldwork`. Learn the user’s operating meanings from real work, apply corrections to subsequent actions, and retain reusable findings in existing knowledge.
19
20
  - Resolve consequential unknowns from accessible evidence before asking. A clear request needs no additional approval ceremony.
20
21
  - Work in the current checkout with one writer. Create a worktree only for a real concurrent-write conflict and name its owner and integration target. Read-only research and review need no branch.
21
22
  - Use host tools and installed skills first. Load `vibe internal guide extensions` for a capability gap or a concrete opportunity to improve accuracy, speed or recurring work with an existing skill, even when you could implement it yourself. Reuse saved findings; routine edits need no search or speculative installation.