Skip to content

Releases: kdr/overcast

v0.0.11

Choose a tag to compare

@github-actions github-actions released this 18 Jul 16:32
9243156
VS Code extension: Marketplace-ready — kdrrr.overcast + CI publish; v…

v0.0.10

Choose a tag to compare

@github-actions github-actions released this 17 Jul 23:26
6147920
VS Code extension: CLI discovery under GUI PATH + empty-window onboar…

v0.0.9

Choose a tag to compare

@github-actions github-actions released this 15 Jul 00:53
86a255b
Release v0.0.9 (#106)

## Summary
- Bump version to 0.0.9 across all surfaces (`package.json`,
`package-lock.json`, `src/version.ts`, `.claude-plugin/plugin.json`,
`.claude-plugin/marketplace.json`) via `npm version 0.0.9
--no-git-tag-version` + `sync-version`.

## Ships since v0.0.8
- Provider restructure: `examples/providers/` → `providers/` +
`shipped:` ref scheme; drop the wayback source (#104)

## Release process (RELEASING.md)
- [x] Bump + sync on `release-v0.0.9` branch
- [ ] Merge this PR
- [ ] Tag `main`: `git tag v0.0.9 && git push origin v0.0.9` (triggers
`release.yml`: npm OIDC publish + bun binaries on the GitHub Release)
- [ ] Verify: `npm view @kdrrr/overcast version`

Made with [Cursor](https://cursor.com)

Co-authored-by: Cursor <cursoragent@cursor.com>

v0.0.8

Choose a tag to compare

@github-actions github-actions released this 11 Jul 17:36
1b4cdba
Release v0.0.8 (#103)

## Release v0.0.8

Version bump `0.0.7 → 0.0.8` across all synced surfaces (`package.json`,
`package-lock.json`, `src/version.ts`, `.claude-plugin/plugin.json`,
`.claude-plugin/marketplace.json` — `node scripts/sync-version.mjs
--check` passes), plus one small doc-drift fix folded in.

### What ships since v0.0.7

**New verbs**
- `graph` — case knowledge graph ("connect the dots") (#101)
- `situation` — live monitoring page over the case + `/situation` (#98)
- `voice` — speaker verification over `voice-print` indexes (#86)
- `screenshot` — browser screen capture (+ `browser:` source) (#91)
- `reconstruct` — speculative camera reposition / novel-view synthesis
via fal (#93)
- `chronolocate` — sun/shadow chronolocation, pure offline solar math
(#87)
- `archive` — global cross-case media buckets with `archive:` refs (#85)
- `devices` + actionable `exif`/`verify` forensic triage (#84)

**New OSINT sources**
- `dispatch` police CAD / calls-for-service via Socrata (no key) (#100)
- `flights` ADS-B via OpenSky + `yandeximg` reverse image (#90)
- `overpass` OSM features + `firms` NASA active fires (#95)
- `wayback` deleted-web recovery (#87)
- `dork` (Serper) + `shodan` host recon (#83)
- Identity/records sources: `username` / `person` / `phone` / `property`
/ `plate` (#94)

**Enhancements**
- `brief`/`case status` restructured around lines of investigation
(shared mission renderer) (#97)
- `enhance --ops ela` / `--ops panorama` image forensics + stitching
- Chair console voice dictation (Web Speech API mic) (#92)
- MCP consume bridge documented example source (#74); Cloudglue opt-in
memory provider (#72)
- Docs/skills/coverage sync incl. 8 new CSI skills (#96, #102);
dependency bumps (#75–#81)

### Doc-drift fix in this PR
`overcast --help` env listing (`ENV_GROUPS` in `src/cli.ts`) now
includes four knobs already documented in README/docs: `DETECT_PY`,
`OVERCAST_VOICE_MODEL` / `OC_VOICE_DEVICE`, `OVERCAST_GRID_FONT`,
`OVERCAST_TAILSCALE_CMD`. Skills regen is a no-diff; README/docs
verified against `overcast commands --json` (38 verbs, 26 sources, all
32 skills covered).

### After merge (release procedure)
```bash
git checkout main && git pull
git tag v0.0.8 && git push origin v0.0.8   # triggers release.yml → npm publish (OIDC) + binaries
```

Verified locally: `npm run typecheck` clean, `npm test` 1090/1090 pass,
`node scripts/sync-version.mjs --check` clean.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Version metadata sync plus help-text additions; no runtime logic
changes in the diff.
> 
> **Overview**
> **Release v0.0.8** — version is bumped from `0.0.7` to `0.0.8`
everywhere it is synced (`package.json`, `package-lock.json`,
`src/version.ts`, `.claude-plugin/plugin.json`,
`.claude-plugin/marketplace.json`).
> 
> The only non-version change in the diff extends **`ENV_GROUPS` in
`src/cli.ts`** so top-level help lists env vars that were already
documented elsewhere: `OVERCAST_TAILSCALE_CMD`, `DETECT_PY`,
`OVERCAST_VOICE_MODEL` / `OC_VOICE_DEVICE`, and `OVERCAST_GRID_FONT`.
Feature work since v0.0.7 is described in the PR body but is not part of
this diff.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
bbc8b3c2bbf3cef4c3ab4ce61ee0711512f6993a. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

v0.0.7

Choose a tag to compare

@github-actions github-actions released this 05 Jul 22:22
7f63a19
Bump to 0.0.7: pi 0.80.3, zod 4, TypeScript 6, tinycloud 0.3.8 (#54)

Pulls the latest majors and refreshes the version surface for a new npm
publish (`@kdrrr/overcast@0.0.7`).

## Package bumps
| Package | From | To | Notes |
|---|---|---|---|
| `@earendil-works/pi-*` (×4) | `0.80.1` | `0.80.3` | Patch, same minor.
Floated the pinned-version invariant forward (CLAUDE.md, `version.ts`, 4
test/e2e assertions). |
| `zod` | `^3.24.1` | `^4.4.3` | Major. No fallout — not imported in
`src` (effectively a dead dep). |
| `typescript` | `^5.7.2` | `^6.0.3` | Major. One fix (below). |
| **tinycloud** (CLI prereq) | rec. `0.3.7` | rec. `0.3.8` |
`RECOMMENDED_TINYCLOUD` + docs/skills. Kept the **≥0.3.7 feature
minimums** (see/extract) and provenance notes. |
| version | `0.0.6` | `0.0.7` | Synced to `plugin.json` +
`marketplace.json`. |

`tsup`/`tsx`/`vite`/`playwright` already float to latest via caret;
`@types/node` kept at 22 to match `engines.node >=22`.

## TS 6 fix
TypeScript 6 tightened side-effect imports (new `TS2882`), breaking
`import "./theme.css"` in the chair web app (its tsconfig sets `types:
[]`, so no `vite/client`). Added a minimal `web/chair/src/vite-env.d.ts`
with `declare module "*.css"`.

## Verification
- `typecheck` (src + web/chair under TS 6) ✓
- unit **734/734** ✓ (rebound the doctor test to the
`RECOMMENDED_TINYCLOUD` constant so it won't re-break on the next bump)
- `build` (tsup + vite web) ✓
- offline e2e **171/171** ✓ — compiled bun binary reports `pi 0.80.3`,
`skills.in_sync (31 verbs)`
- **live e2e (real data) 567/568** ✓ — real
Cloudglue/ElevenLabs/FAL/Apify/Tavily, bun binary at pi 0.80.3
- 1 SKIP: `skill_claude` (opt-in `OC_E2E_CLAUDE=1`, skipped to save
credit)
- 1 FAIL: `segment.local.nomatch` — pre-existing local GroundingDINO
threshold flake (2 boxes on a no-match prompt); the **FAL** path of the
same test passes with 0. Unrelated to the dep bumps.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Major toolchain bumps (TypeScript 6, zod 4, pi 0.80.3) affect build
and the pi harness integration; the segment threshold change alters
default local `enhance --ops segment` precision/recall with no code-path
changes elsewhere in `src`.
> 
> **Overview**
> **Release 0.0.7** refreshes the version surface (`package.json`,
plugin manifests, `src/version.ts`) and moves the pinned **pi** stack
from `0.80.1` to **`0.80.3`**, with e2e/unit assertions updated to
match.
> 
> **Dependency majors:** **`zod` ^3 → ^4** and **`typescript` ^5 → ^6**
in `package.json` / lockfile. TS 6 required a minimal
**`web/chair/src/vite-env.d.ts`** (`declare module "*.css"`) because the
chair tsconfig omits `vite/client` and side-effect CSS imports now error
as TS2882.
> 
> **Docs & runtime guidance:** recommended **tinycloud** CLI is
**`0.3.8`** (`RECOMMENDED_TINYCLOUD` in `src/verbs/setup.ts`, README,
skills, `docs/providers.md`). The doctor unit test now asserts against
that constant instead of a hardcoded version string.
> 
> **Local segment behavior:** `enhance_segment.py` raises the default
**`SEGMENT_THRESHOLD`** from **0.3 → 0.5** for GroundingDINO-tiny so
absent-object prompts are less likely to produce false-positive cutouts
(override via `SEGMENT_THRESHOLD`).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
60f257cef51c9036b10de6bd4e6bd9f5235ad702. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

v0.0.6

Choose a tag to compare

@github-actions github-actions released this 02 Jul 21:51
71e5c0e
Release v0.0.6 (+ docs audit) (#43)

Preps the v0.0.6 patch release and lands a full documentation audit of
CLAUDE.md, README, skills, reference docs, and per-verb CLI help against
the verb registry (`overcast commands --json`) and the actual
implementations.

## Docs audit fixes

**Registry / CLI help (source of truth for generated skills):**
- `see`: removed the phantom `--embed` flag — declared in help but never
read by the implementation (`overcast see img.jpg --embed` silently did
nothing). Also scrubbed the stale `see --embed` comments and the dead
`TargetEntry.seed` field in `src/state/target.ts`.
- `provider --preset` help: added missing `basic-clip` to the preset
enum.
- `wall --source` help + error: added missing `x` and `lens` source
types.
- `setup` summary: added the implemented-but-unlisted `memory`
subcommand.
- `monitor --alert` help: clarified it's a file sink (records already
stream to stdout).

**README:**
- Fixed the `skills install` block: there is no interactive menu and no
`--global` flag; it copies all shipped skills into `~/.claude/skills`
(`--harness claude-code` is the only target).
- Split `view` / `crop` / `wall` out of the **Senses** table into an
**Inspect** table, matching the registry's grouping.

**docs/flows.md:**
- Visual-DB provider-class bullet now covers `face-cluster` +
`basic-clip`; sources bullet now covers `lens`.
- Command matrix gains the missing `image`, `cluster`, `similar` rows.
- New flow **18. Copycat sweep (x + lens reverse-image)** covering the
`x:` refs (`x:@handle`, `x:video:<q>`, `x:image:<q>`), `lens:`
reverse-image search, and the geometry-gated `image match` layer.
- Preset list gains `basic-clip`.

**docs/providers.md:** preset table gains `basic-clip` →
`similar:basic-clip`; visual-db samples list gains `face_cluster.py`.

**Skills (fixed in `src/skill-gen.ts` templates, regenerated):**
- visual-target-search: `overcast image ./clip.mp4 …` → `overcast image
match …` (the bare form errors); noted that `see --detect` requires
binding a detection provider first.
- copycat-sweep: corrected the score-scale caveat — face similarity is
0–100 (percent), but `image match` reports a RANSAC inlier count + 0–1
inlier ratio (there is no 0–100 image similarity).
- media-bug-triage: `frame://<record-id>@<timestamp>` → `@<seconds>`
(the parser only accepts numeric seconds).

**test/e2e/README.md:** live-case list gains the missing `14_face`,
`15_crop`, `17_face_cluster`, `25_case_setup`.

Confirmed accurate during the audit (no changes needed):
CLAUDE.md/AGENTS.md, all env vars, pinned versions (pi 0.80.1, tinycloud
≥0.3.4 / rec 0.3.7, node ≥22), source-ref grammars, slash-command list,
record contract, provider transports, and per-verb flag coverage for the
other 24 verbs.

## Release v0.0.6

`npm version 0.0.6 --no-git-tag-version` + `sync-version` —
package.json, package-lock.json, `src/version.ts`, and both
`.claude-plugin/*.json` bumped in lockstep (`sync-version.mjs --check`
passes).

## Verification

- `npm run typecheck` clean
- `npm test`: 542/542 unit tests pass
- `npm run test:e2e` (offline fixtures): 164/164 pass
- `skills generate` is byte-stable against the committed skills

## After merge (per RELEASING.md)

```bash
git checkout main && git pull
git tag v0.0.6 && git push origin v0.0.6
```

The tag push triggers `release.yml`: npm publish via OIDC trusted
publishing + cross-compiled bun binaries attached to the GitHub Release.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Mostly documentation and help text; the only runtime-adjacent change
is removing the documented-but-unimplemented `see --embed` flag and
stale target `seed` field, which should not affect working flows.
> 
> **Overview**
> **Release v0.0.6** — version bumped in lockstep across `package.json`,
lockfile, `src/version.ts`, and Claude plugin manifests.
> 
> **Docs & skills audit** so README, `docs/flows.md`,
`docs/providers.md`, generated skills, and `verbs.md` match the registry
and real behavior:
> 
> - **README**: Corrects `skills install` (no menu/`--global`; copies to
`~/.claude/skills`). Splits **Inspect** (`view` / `crop` / `wall`) out
of the Senses table.
> - **`docs/flows.md`**: Documents visual DB index types
(`face-cluster`, `basic-clip`), `lens` sources, command-matrix rows for
`image` / `cluster` / `similar`, the **copycat sweep** flow (X + Lens +
geometry-gated `image match`), and the `basic-clip` preset.
> - **Skills** (templates in `src/skill-gen.ts` + committed outputs):
`image match` subcommand, `frame://@<seconds>`, detection-provider note
for `see --detect`, and copycat score-scale caveats (face 0–100 vs
RANSAC inliers/ratio).
> 
> **CLI help / registry fixes** in verb specs: drops undocumented **`see
--embed`** from help and removes the unused `TargetEntry.seed` field;
**`setup`** summary lists **`memory`**; **`wall --source`** and
**`provider --preset`** include **`x`**, **`lens`**, and
**`basic-clip`**; **`monitor --alert`** clarified as file-only (stdout
already streams records).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
405dc379a2724a00c0d2664feba06f1399f91cb9. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

v0.0.5

Choose a tag to compare

@github-actions github-actions released this 30 Jun 13:59
c0f4880
Release v0.0.5

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 29 Jun 04:23
e5996ed
overcast v0.0.4

v0.0.3

Choose a tag to compare

@github-actions github-actions released this 26 Jun 22:22
b22357b
Release v0.0.3 (#16)

Patch release **v0.0.3**, cut from current `main` per
[RELEASING.md](RELEASING.md).

## What ships since v0.0.2
- #15 — Add `face` verb + collection lifecycle, backed by tinycloud ≥
0.3.4

## This PR
Version-only bump. `npm version 0.0.3 --no-git-tag-version` +
`scripts/sync-version.mjs` propagated `0.0.3` to all four surfaces:
- `package.json` / `package-lock.json`
- `src/version.ts` (`OVERCAST_VERSION`)
- `.claude-plugin/plugin.json`
- `.claude-plugin/marketplace.json` (`metadata.version` +
`plugins[].version`)

`node scripts/sync-version.mjs --check` ✅ all surfaces match.

## After merge
Tag `main` to trigger `release.yml` (npm OIDC publish + bun binaries):
```
git checkout main && git pull
git tag v0.0.3 && git push origin v0.0.3
```

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Mechanical version string updates only; no logic, API, or dependency
changes in the diff.
> 
> **Overview**
> **Release v0.0.3** — version-only bump from **0.0.2** to **0.0.3**
across every published version surface, with no application or
dependency changes in this diff.
> 
> `package.json` and `package-lock.json` are updated for npm;
**`OVERCAST_VERSION`** in `src/version.ts` drives CLI `--version` and
TUI branding; **`.claude-plugin/plugin.json`** and
**`.claude-plugin/marketplace.json`** (metadata + plugin entry) stay
aligned for the Claude plugin marketplace. Functional work for this
release (e.g. the `face` verb from #15) is already on `main`; this PR
only cuts the release label.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
27b8808520a71b240a36d89498088bb3dc63d12f. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 25 Jun 23:29
613d682
Fix broken npm install + release v0.0.2 (#14)

## Problem

`npm install -g @kdrrr/overcast@0.0.1` **fails for everyone**:

```
npm error Error: Cannot find module '.../@kdrrr/overcast/scripts/brand-pi.mjs'
npm error code: 'MODULE_NOT_FOUND'
```

The `postinstall` runs `node scripts/brand-pi.mjs`, but `scripts/` was
never in
the `files` whitelist, so the script isn't in the published tarball →
the
postinstall errors and npm rolls the whole install back. The dev `npm
link`
masked this because the working tree has `scripts/` on disk.

## Fixes

**1. Ship the script** — add `scripts/brand-pi.mjs` to `files` (just
that one
file; the dev-only `bun-sidecar.mjs` / `sync-version.mjs` stay
unpublished).

**2. Make the rebrand actually work, and never block install** — the
postinstall
was *also* silently no-op'ing on normal installs:

- The resolver called
`require.resolve("@earendil-works/pi-coding-agent/package.json")`,
which throws `ERR_PACKAGE_PATH_NOT_EXPORTED` (pi's `exports` map only
exposes
`"."`). It fell back to a single *nested* path, so it found nothing
whenever pi
is **hoisted**. Replaced with a raw-fs walk up the `node_modules` chain
(immune
to `exports`) covering nested + hoisted layouts, plus a resolve-based
fallback
  for symlinked (pnpm) stores.
- Wrapped `main()` so a cosmetic branding failure (e.g. read-only global
  `node_modules`) warns and exits 0 instead of aborting the install.

## Release

This PR also **cuts `v0.0.2`** (the patch that ships the fix) by folding
the
version bump into the same PR — `npm version 0.0.2
--no-git-tag-version`, which
syncs every surface (`package.json`, `package-lock.json`,
`src/version.ts`, both
`.claude-plugin/*.json`). After merge, push the `v0.0.2` tag to trigger
`release.yml`. `RELEASING.md` documents this fold-into-PR pattern.

## Verification

Packed the tarball and ran a clean `npm install` (scripts **enabled**)
into a
fresh dir:

- install exits `0` (previously aborted)
- `scripts/brand-pi.mjs` is present in the tarball
- the **hoisted** pi gets `piConfig.name="overcast"` (previously stayed
unbranded)
- `npm run typecheck` clean; `npm test` → 150/150 pass; `sync-version
--check` clean

---------

Co-authored-by: KDR <kdr@KDRs-MacBook-Pro.local>