@vortex-os/base 0.8.0 → 0.9.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.8.0",
3
+ "version": "0.9.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",
@@ -1,24 +1,26 @@
1
1
  ---
2
- description: Leave a clean hand-off in today's worklog so the next session resumes where this one stops — a `## 다음 작업` / `## Next` section with concrete next steps, current state, and pointers.
2
+ description: Leave a clean hand-off so the next session resumes where this one stops — one file per session under `data/_handoff/`, with concrete next steps, current state, and pointers.
3
3
  allowed-tools: Bash(npx vortex:*), Bash(git add:*), Bash(git commit:*), Read, Edit, Write, Glob
4
4
  ---
5
- Capture a hand-off into today's worklog so the NEXT session — a fresh, empty context window — can resume exactly where this one stops, instead of re-deriving everything. Use this at wind-down, or whenever the user says "hand off / wrap up so I can resume / 이어가게 정리 / 인수인계". (This is also a default behavior on those phrases — the command just makes it explicit.)
5
+ Capture a hand-off so the NEXT session — a fresh, empty context window — can resume exactly where this one stops, instead of re-deriving everything. Use this at wind-down, or whenever the user says "hand off / wrap up so I can resume / 이어가게 정리 / 인수인계". (This is also a default behavior on those phrases — the command just makes it explicit.)
6
+
7
+ A hand-off is a **forward-looking baton**, kept SEPARATE from the worklog (the permanent, backward-looking "what happened" record). It lives in `data/_handoff/`, one file per session, and is disposable: old ones are swept to `_handoff/_archive/` automatically at session start, so you never tidy them by hand.
6
8
 
7
9
  INVARIANTS (never break):
8
- - **Append-only.** Add or update a hand-off SECTION; never rewrite or reorder the rest of the worklog. Today's `## 다음 작업` section is the one living block you may keep editing.
9
- - **Real, not padding.** Write what genuinely remains and how to resume. If nothing is pending, say so plainly rather than inventing tasks.
10
+ - **One file per SESSION, covering everything you touched.** A single session that worked on topic A, then B, then back to A writes ONE hand-off with all of it do NOT split per topic, and do NOT create a "hand-off" worklog file.
11
+ - **The baton points forward; the narrative stays in the worklog.** Put next steps + how-to-resume here; the "what/why we did" story belongs in the worklog. (So discarding an old hand-off never loses anything — the durable record is the worklog, and git keeps old hand-offs anyway.)
12
+ - **No carry-forward.** Don't copy another session's pending items into yours. Concurrent sessions each leave their own hand-off — multiple active ones are NORMAL; the start report surfaces them all.
13
+ - **Real, not padding.** Write what genuinely remains. If nothing is pending, say so plainly rather than inventing tasks.
10
14
  - **Commit is offered; push stays explicit.** Offer to commit the hand-off for durability; push only if the user asks.
11
15
 
12
- ## 1. Find or create today's worklog
13
- - One worklog per topic/session is fine and encouraged a distinct piece of work can take its own `data/worklog/<YYYY>/<MM>/<YYYY-MM-DD>-<keyword>.md`.
14
- - To append to today's existing worklog, `npx vortex log "다음 작업"` scaffolds an empty `## 다음 작업` section. It errors if today has no worklog yet — then create the file first (with worklog frontmatter), or run `npx vortex init` once on a brand-new instance.
15
- - Position doesn't matter: the start-of-session report finds the section by its heading, in any of the day's worklogs.
16
+ ## 1. Create the hand-off file
17
+ Run `npx vortex handoff "<short title>"` — it creates `data/_handoff/<YYYY-MM-DD_HHMM>.md` (a `-2` suffix is added automatically only if another session wrote one in the same minute, so nothing is ever clobbered) and prints the path. Fill THAT file; don't hand-name it.
16
18
 
17
- ## 2. Fill the hand-off section
18
- In the `## 다음 작업` (or `## Next`) section, write, in this order:
19
- 1. **Next steps — concrete, as unchecked `- [ ]` items, first.** Each one a single action the next session can pick up directly. (Completed steps belong checked off as `- [x]` the start report skips those, surfacing only what's left.)
20
- 2. **Current state** — what's done vs in progress, and any decision already made.
21
- 3. **Pointers to resume from** — the files, commit hashes, and decision-log entries the next session will need.
19
+ ## 2. Fill the hand-off
20
+ The skeleton has three sections fill them in this order:
21
+ 1. **`## 다음 작업` — concrete next steps, as unchecked `- [ ]` items, first.** Each one a single action the next session can pick up directly. The start report surfaces these as the "resume from here" pointer. Long-lived TODOs that outlive one session belong as `- [ ]` tasks in the worklog, not carried forward here.
22
+ 2. **`## 현재 상태`** — what's done vs in progress across everything this session touched, and any decision already made.
23
+ 3. **`## 이어받을 포인터`** — the files, commit hashes, and decision-log entries the next session will need.
22
24
 
23
25
  ## 3. Make it durable
24
26
  Briefly confirm what you captured, then offer to commit it (and, only if the user asks, push) so the hand-off survives into the next session — and across machines, if the instance syncs.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema": "vortex-template-index/1",
3
- "baseVersion": "0.8.0",
3
+ "baseVersion": "0.9.0",
4
4
  "files": [
5
5
  {
6
6
  "templateId": "commands/agenda.md",
@@ -15,7 +15,7 @@
15
15
  {
16
16
  "templateId": "commands/handoff.md",
17
17
  "path": "commands/handoff.md",
18
- "sha256": "0b37e280b53713eda5e6ca6f60535b5b549e5e823f8d0f549bd952f289c18b44"
18
+ "sha256": "0c37bdbd9760db355c9584c58808838c084353b1b19710105ae37eee539bd81a"
19
19
  },
20
20
  {
21
21
  "templateId": "commands/recall.md",
@@ -45,7 +45,7 @@
45
45
  {
46
46
  "templateId": "routers/AI-RULES.md",
47
47
  "path": "routers/AI-RULES.md",
48
- "sha256": "f82bcdf6b55ca1f4ba59f940ff38947138815e095d8905658fcb0a300fe67d0e"
48
+ "sha256": "dc184f977c4a9970e5934b3a87a0bc533f7811c9bc5ecbfe68c6adffb0f4cc82"
49
49
  },
50
50
  {
51
51
  "templateId": "routers/CLAUDE.md",
@@ -31,7 +31,7 @@ Operating principle: **auto-maintain the operational memory; propose changes to
31
31
  **Auto (no prompt — append-only operational records; *show, don't ask*):**
32
32
  - **Session start.** Run the start ritual: if a sync remote is configured, `git pull` (report conflicts, never auto-resolve); detect the environment if one is configured (and if a label resolves with a matching `.agent/env/<label>.md`, read that file as session-specific operating guidance); backfill any worklog missing from prior sessions; **load your `data/_memory/` always-on rules and scan its `_INDEX.md`** (see "The `data/` layout" → memory loading); report status. If the `SessionStart` hook is configured, the **data-side** ritual already ran and its report was **injected into your context — the user has NOT seen it. Start your first reply by relaying the key points: recent work, what's in progress, the time, any update notices, and any warnings.** If no hook ran, perform the ritual yourself first, then report the same status. (Automatic means the records updated on their own — informing the user is still your job.)
33
33
  - **Worklog.** As a work unit completes — and at session wind-down ("that's it for today", "wrap up") — ensure today's worklog exists and append the work. The agent is the primary path; the `SessionEnd` hook is the net.
34
- - **Session hand-off.** At wind-down — or whenever the user asks to hand off / continue later ("hand off", "wrap up so I can resume", "leave it for next time", "인수인계") — make sure today's worklog carries a clearly-headed hand-off section (`## 다음 작업` / `## Next`): the concrete next steps as unchecked `- [ ]` items, plus the current state and the pointers to resume from (files, commit hashes, decisions). The next session's start report surfaces that section automatically it finds it by heading, in any of the day's worklogs, at any position so the next session resumes from a clean window instead of re-deriving context. A distinct piece of work can take its own dated worklog (`YYYY-MM-DD-<keyword>.md`); every entry sharing the latest day is surfaced, so nothing is buried.
34
+ - **Session hand-off.** At wind-down — or whenever the user asks to hand off / continue later ("hand off", "wrap up so I can resume", "leave it for next time", "인수인계") — write a hand-off with `/handoff` (or `npx vortex handoff "<title>"`): **one file per session** under `data/_handoff/`, carrying the concrete next steps as unchecked `- [ ]` items, plus the current state and the pointers to resume from (files, commit hashes, decisions). A hand-off is a **forward-looking baton kept SEPARATE from the worklog** (the permanent "what happened" record): put next steps + how-to-resume here, leave the narrative in the worklog. One session that spans several topics writes **ONE** hand-off covering all of them — never a per-topic split, never a "hand-off" worklog file, and never carry another session's items forward (concurrent sessions each leave their own). The next session's start report surfaces the active hand-off(s) automatically (multiple are normal), and hand-offs older than the retention window (default 7 days) are swept to `_handoff/_archive/` on their own — so you never tidy them by hand.
35
35
  - **Decisions.** When the user makes a *substantive* decision ("let's go with X"), record it in the Decision Log. Real decisions, not casual asides.
36
36
  - **Ambient recall** (read-only). When the user references earlier work, run `/recall <the reference>` and weave a confident hit into one sentence. One nudge, not a list; drop it if waved off. Conversations are vectorized automatically at session start. With the `@vortex-os/memory-extended` add-on installed, the first session also sets recall up on its own — downloading the local search model (~470 MB, once) in the **background** — so recall and these ambient lookups just work with no prompt and no manual step (the session-start report notes the one-time download while it runs; relay that). To keep that download manual instead (metered line, CI), set `autoRecord.vectorizeAutoDownload: false` (or env `VORTEX_VECTORIZE_AUTO_DOWNLOAD=0`) and set it up once with `/recall` or `vortex vectorize`.
37
37
 
@@ -92,7 +92,7 @@ Your content lives under `data/`. Each category answers a different question:
92
92
 
93
93
  | Category | Question it answers |
94
94
  |---|---|
95
- | `worklog/` | "What happened today?" — chronological; one **or more** entries per day, one per topic/session is fine and encouraged (`YYYY/MM/YYYY-MM-DD-keyword.md`). |
95
+ | `worklog/` | "What happened today?" — chronological; one **or more** entries per day, one per topic/session is fine and encouraged (`YYYY/MM/YYYY-MM-DD_HHMM-keyword.md` — the `_HHMM` creation time keeps same-day entries in work order in a file browser; the older `YYYY-MM-DD-keyword.md` form still works). |
96
96
  | `decision-log/` | "Why did we choose X over Y?" — per-decision record with context + alternatives. |
97
97
  | `_memory/` | "What rule or fact must survive every session?" — curated; loads in two tiers (below). |
98
98
  | `runbooks/` | "What is the procedure when X breaks?" — repeatable steps with `last_tested` aging. |
@@ -118,7 +118,7 @@ These slash-commands are installed into `.claude/commands/` by `vortex init` (th
118
118
  | `/vortex global-setup` | Use VortEX from **any** folder — merges an instance pointer + session hooks into your global `~/.claude` (merge-safe, idempotent; `--decline` to dismiss the offer). |
119
119
  | `/session-start` | Start-of-session report — recent work, current counts, the time. |
120
120
  | `/log <section>` | Append a section to today's worklog (creates it if needed). |
121
- | `/handoff` | Leave a clean hand-off in today's worklog (`## 다음 작업` — next steps + current state + pointers) so the next session resumes where you stopped. Also fires on "hand off / wrap up / 인수인계". |
121
+ | `/handoff` | Leave a clean hand-off under `data/_handoff/` (one file per session — next steps + current state + pointers) so the next session resumes where you stopped; old hand-offs auto-archive. Also fires on "hand off / wrap up / 인수인계". |
122
122
  | `/decision <slug> <title>` | Create a new Decision Log entry from the template. |
123
123
  | `/recall <query>` | Keyword + semantic (hybrid) search over your memories and past sessions; the agent picks the mode. *(Only when the optional `@vortex-os/memory-extended` add-on is installed.)* |
124
124
  | `/agenda` | "What should I focus on?" — synthesizes open tasks, decisions, recent activity. |