@vortex-os/base 0.3.0 → 0.4.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vortex-os/base",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Base entry point for VortEX — a Multi-Agent Personal AI Work OS framework",
5
5
  "license": "MIT",
6
6
  "author": "vortex-os-project",
@@ -0,0 +1,48 @@
1
+ ---
2
+ description: Propose capturing the current work into a knowledge-base document (you decide, never auto-written)
3
+ allowed-tools: Bash(npx vortex:*)
4
+ ---
5
+ Offer to capture the user's accumulated work on the CURRENT topic into a
6
+ document — only when it is genuinely worth keeping, and only with the user's
7
+ explicit yes.
8
+
9
+ INVARIANTS (never break these):
10
+ - NEVER auto-write. Always ask the user before writing anything.
11
+ - ASK before accept — a write happens only after the user says yes.
12
+ - DOCUMENTS only. No hub files, no `_*` / system directories
13
+ (worklog, decision-log, runbooks, hubs, _memory, _templates, _proactive-curator).
14
+ - No whole-file replace. Only `create-file` (new file) or `append-section`
15
+ (add a section to an EXISTING file). Never overwrite an existing file.
16
+ - ALWAYS go through the CLI validate/write path below — never write files yourself.
17
+
18
+ THROTTLE: propose at a TOPIC BOUNDARY when substantial work on ONE topic has
19
+ accumulated — not every turn. If the user waved off curation earlier this
20
+ session, drop it and stay silent.
21
+
22
+ Steps:
23
+ 1. Decide continuation vs new. From the instance root run:
24
+ `npx vortex curate-candidates`
25
+ Parse `candidates[]` (each has `relpath`, `topic`, `tags`). If the current
26
+ work matches an existing document's topic/tags → propose APPENDING to it
27
+ (`append-section`). Otherwise → propose a NEW file (`create-file`).
28
+ 2. Build the proposal payload (JSON):
29
+ - create-file: `{ "action":"create-file", "topic":"<1-3 words>",
30
+ "targetRelPath":"<data-relative FOLDER>",
31
+ "filename":"<slug>.md", "body":"<full document>" }`
32
+ - append-section: `{ "action":"append-section", "topic":"<1-3 words>",
33
+ "targetRelPath":"<data-relative EXISTING file>",
34
+ "sectionHeader":"<heading>", "body":"<section text>" }`
35
+ 3. (Optional) Dry-check it — writes nothing:
36
+ `npx vortex curate-preview --payload '<json>'`
37
+ If `previouslyDeclined` is true → the user already declined this exact
38
+ proposal; do NOT re-propose it. Stay silent.
39
+ 4. Ask the user ONCE, plainly:
40
+ "Want me to capture this? **new doc** at `<path>`, or **append** to
41
+ `<existing>`?" — one question, their call.
42
+ 5. On YES: `npx vortex curate-accept --payload '<json>'` (writes via the
43
+ safe path; refuses to overwrite). Then tell them where it landed.
44
+ On NO: `npx vortex curate-decline --payload '<json>'` (suppresses this
45
+ proposal for 30 days). Then move on.
46
+
47
+ Keep it light. This is an offer, not a report — one short proposal, never a wall
48
+ of text, never a second ask if they declined.
@@ -7,7 +7,7 @@ status: active
7
7
 
8
8
  > A vortex absorbing context, an executable runtime running it through agents.
9
9
 
10
- This is the unified entry point for every agent working in this instance (Claude Code, Codex CLI, Gemini CLI, Cursor). The per-agent files (`CLAUDE.md`, `CODEX.md`, `GEMINI.md`, `.cursorrules`) all route here — this file is the single source of truth.
10
+ This is the unified entry point for every agent working in this instance (Claude Code, Codex CLI, Gemini CLI, Cursor). The per-agent files (`CLAUDE.md`, `AGENTS.md`, `CODEX.md`, `GEMINI.md`, `.cursorrules`) all route here — this file is the single source of truth.
11
11
 
12
12
  This instance was created from the `@vortex-os/base` framework. The framework code lives in `node_modules/@vortex-os/`; you do not edit it. You work in `data/` — your own content — and use the `vortex` CLI and the `/`-commands it installs.
13
13
 
@@ -44,6 +44,8 @@ The line is technical: **append-only operational logs are safe to auto-write; st
44
44
 
45
45
  **Ask one decision at a time.** When you need the user to decide, ask a single question and wait — do not stack several at once. Only batch when the choices are genuinely independent.
46
46
 
47
+ **Match reasoning effort to the task.** Don't over-reason trivial asks — a status check, a one-line edit, a lookup; don't under-reason heavy ones — architecture design, multi-file refactors, large debugging or migration, broad reviews. If the host exposes a tunable reasoning/thinking level and the task ahead clearly needs a different one than the session is set for, recommend the change — but rarely: only at a real boundary (a sizable task's start, a major topic shift, a substantial new directive), one or two times across a long session, never per question.
48
+
47
49
  ## The `data/` layout
48
50
 
49
51
  Your content lives under `data/`. Each category answers a different question:
@@ -84,7 +86,7 @@ You can also run any of these directly: `npx vortex <command> [args]`.
84
86
  | Agent | Entry | Shared config | Dedicated config |
85
87
  |---|---|---|---|
86
88
  | Claude Code | `CLAUDE.md` → `AGENT.md` | `.agent/` | `.claude/` |
87
- | Codex CLI | `CODEX.md` → `AGENT.md` | `.agent/` | `.codex/` |
89
+ | Codex CLI | `AGENTS.md` → `AGENT.md` (Codex auto-loads `AGENTS.md`; `CODEX.md` is legacy/manual) | `.agent/` | `.codex/` |
88
90
  | Gemini CLI | `GEMINI.md` → `AGENT.md` | `.agent/` | `.gemini/` |
89
91
  | Cursor | `.cursorrules` → `AGENT.md` | `.agent/` | `.cursor/` |
90
92
 
@@ -0,0 +1,18 @@
1
+ # AGENTS.md
2
+
3
+ This is the file Codex CLI (and other `AGENTS.md`-aware agents) auto-loads when
4
+ working in this VortEX instance.
5
+
6
+ ## Route to unified entry
7
+
8
+ Read [`AGENT.md`](./AGENT.md) first — it is the single source of truth for how
9
+ this instance behaves. This `AGENTS.md` is only the auto-load entry point; the
10
+ full, host-agnostic behavior contract lives in `AGENT.md`.
11
+
12
+ ## Working in a VortEX instance (summary)
13
+
14
+ VortEX rituals are agent-mediated: run the thin `vortex` CLI and present its JSON
15
+ result to the user in plain language — e.g. `npx vortex status`,
16
+ `npx vortex agenda`, `npx vortex recall "<query>"`, `npx vortex log "<update>"`.
17
+ Never hand-write into the reserved system directories under `data/`
18
+ (`worklog`, `decision-log`, `runbooks`, `hubs`, any `_*`) — go through the CLI.
@@ -14,3 +14,7 @@ This `CLAUDE.md` holds only Claude Code-specific supplements. For everything els
14
14
  - Shared dir: `.agent/`
15
15
 
16
16
  `.claude/settings.json` and `.claude/commands/` are populated by `vortex init` — it wires the SessionStart / SessionEnd hooks (`npx --no-install -p @vortex-os/base vortex session-start` / `… session-end`) and installs the agent-mediated slash-commands.
17
+
18
+ ## Reasoning effort
19
+
20
+ Claude Code exposes a reasoning/effort level you cannot read as a value. When `AGENT.md` → "Working style" calls for an effort change, recommend a *target* ("this looks like high-effort work — raise it if you're below that") rather than asserting the current setting. The user changes it on their side; it takes effect from the next turn, not the current one.
@@ -1,6 +1,8 @@
1
1
  # CODEX.md
2
2
 
3
- This is the first file Codex CLI reads when working in this VortEX instance.
3
+ NOTE: Codex CLI auto-loads `AGENTS.md`, not this file. The auto-load entry for
4
+ Codex is `AGENTS.md` (which routes to `AGENT.md`). This `CODEX.md` is a manual /
5
+ legacy supplement — read it only when explicitly pointed here.
4
6
 
5
7
  ## Route to unified entry
6
8