Skip to content

Make this extension a joy to use#18

Merged
jayzeng merged 9 commits into
mainfrom
dx/joy-to-use
Jun 10, 2026
Merged

Make this extension a joy to use#18
jayzeng merged 9 commits into
mainfrom
dx/joy-to-use

Conversation

@jayzeng

@jayzeng jayzeng commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

jayzeng added 8 commits May 22, 2026 08:11
Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>
npm test ran the e2e suite, which needs `pi` on PATH and an API key — so
the pre-commit hook (npm test + lint) failed for any contributor without
a configured key, and "the test command" meant different things in CI vs
locally.

- npm test now runs the canonical bun unit suite (no key, ~0.5s)
- npm run test:e2e / test:eval cover the gated suites
- remove test/unit.ts, the stale 18-test predecessor of unit.test.ts
  (125 tests, the one CI actually runs)
- add engines.node >=20 and raise pi peerDependency floors from the
  meaningless >=0.0.1 to the tested >=0.52.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>
The publish workflow ran `npm ci && npm publish` with no verification, so
a broken build or a tag that disagrees with package.json could ship. Add
lint + build + unit tests before publish, and assert the pushed v* tag
matches package.json version. Point the CI unit job at `npm test` so
local, CI, and pre-commit all run the same command.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>
package.json was 0.3.12 but the README changelog jumped Unreleased ->
0.3.6 -> 0.2.0, with six shipped releases missing and an "Unreleased"
block describing already-released work. Backfill an accurate, dated
CHANGELOG.md from git history, ship it in the npm tarball, and replace
the README's manual `npm publish --access public` instructions with the
actual tag-driven flow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>
Surfaces what was previously internal-only: memory dir, file inventory,
qmd availability, whether the pi-memory collection exists, whether
embeddings are ready (bounded probe), and the active env configuration —
so users can diagnose search problems in one tool call instead of
reasoning about qmd state themselves.

Also fix the AGENTS.md lint reference (Biome, not ESLint) and document
the new test scripts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>
Restructure the README so a reader sees what cross-session memory feels
like before install plumbing: a two-session transcript and a raw-markdown
peek. Offer the lower-friction `npm install -g @tobilu/qmd` path alongside
Bun (and update the in-extension install hint to match). Add a
symptom->fix Troubleshooting table, point it at the new memory_status
tool, and refresh test commands/levels after the unit.ts removal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>
- probeEmbeddings: clear the 4s probe timeout so short-lived pi -p runs
  exit promptly; document that "ready" means no embeddings warning, not
  a populated index
- publish workflow: require a v* tag ref unconditionally, so manual
  workflow_dispatch runs also get the tag-matches-version check
- changelog: record the peer-dependency floor bump to >=0.52.0 and note
  the next release should be a minor

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>
Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b65ca43280

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread index.ts Outdated
export function ensureQmdEmbed(): boolean {
if (getQmdUpdateMode() !== "background") return false;
if (!qmdAvailable) return false;
if (embedInFlight) return true;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Queue another embed when one is already running

When a memory write's qmd update finishes while an earlier embed is still running, this branch discards the new embed request. This is especially likely during the initial model download: the active process may already have selected its work before the new chunks are indexed, leaving those chunks without vectors until the next session starts. Track a pending request and run another incremental embed after the current callback completes so semantic/deep search sees all in-session writes.

Useful? React with 👍 / 👎.

ensureQmdEmbed() previously dropped requests that arrived while an
embed was in flight. If a write's qmd update finished after the
in-flight embed had already enumerated its work, that write's chunks
could go unembedded until the next session start.

Signed-off-by: Jay Zeng <jayzeng@users.noreply.github.com>
@jayzeng jayzeng merged commit 3016581 into main Jun 10, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant