34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
|
|
# Changelog
|
||
|
|
|
||
|
|
## 1.4.0
|
||
|
|
|
||
|
|
### Added — per-user baked-key builds (CoWork zero-touch)
|
||
|
|
|
||
|
|
The plugin is the only thing reliably mounted into a CoWork session (the sandbox's
|
||
|
|
`~/.claude` is synthetic, not your real one), so the config now *can* travel inside
|
||
|
|
the artifact. `echo_config` gains a lowest-priority fallback tier — the
|
||
|
|
`DEFAULT_OWNER` / `DEFAULT_BASE` / `DEFAULT_KEY` constants — **empty in source**, so
|
||
|
|
the committed tree still ships zero credentials.
|
||
|
|
|
||
|
|
- `build.py --bake-key --from <config.json> [--label <name>]` substitutes a single
|
||
|
|
user's owner/endpoint/key into those constants, producing a per-user artifact that
|
||
|
|
needs **no config file and no per-session paste**. Values may also come from
|
||
|
|
`--owner/--endpoint/--key` or `ECHO_OWNER/ECHO_BASE/ECHO_KEY`.
|
||
|
|
- Baked builds default to `dist/` (gitignored) and never touch the shared
|
||
|
|
`echo-memory.plugin` pointer.
|
||
|
|
- `build.py --strip-key` now force-blanks the same constants (guaranteed token-free).
|
||
|
|
- `config show` / `doctor` report `[baked-in default]` when a field resolves from the
|
||
|
|
baked tier.
|
||
|
|
|
||
|
|
### Changed — artifact hygiene
|
||
|
|
|
||
|
|
- `.gitignore` now excludes `*.plugin` and `dist/`; previously-tracked `.plugin`
|
||
|
|
artifacts were untracked. A baked artifact carries a vault key and must be
|
||
|
|
**delivered directly to that one user, never committed, pushed, or published.**
|
||
|
|
|
||
|
|
### Resolution order (unchanged for hosts)
|
||
|
|
|
||
|
|
`env` → `$ECHO_CONFIG` file → canonical `~/.claude/echo-memory/config.json` →
|
||
|
|
**baked `DEFAULT_*`**. On a normal desktop the empty defaults mean behaviour is
|
||
|
|
identical to 1.3.x; the baked tier only matters in per-user artifacts.
|