Rewrite createMemoryStore() to return an OcasStore with three sub-stores:
cas, var, tag. The cas sub-store keeps the existing Map-based logic, but
its put is now synchronous; the in-memory VarStore and TagStore are new
Map-based implementations of the types defined in #39.
The legacy Store.put signature is widened to Hash | Promise<Hash> so that
the new sync cas can still be passed to helpers (bootstrap, gc, render,
schema, …) that have not yet been migrated to the unified surface.
Tests in packages/core were mechanically updated from store.* to
store.cas.* and new test suites for VarStore (var-store.test.ts) and
TagStore (tag-store.test.ts) cover the spec from issue #40.
Closes#40
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove postinstall script (blocked by bun security policy)
- Add agent skill hint with version to help output
- Update setup.md to guide cleanup of old skill versions
- Use template literals instead of string concatenation
- Remove unused imports and variables
- Use export type for type-only exports
- Use literal keys instead of computed string keys
1. CLI tsconfig: disable composite/declaration/declarationMap, enable
noEmit — CLI runs via bun, never compiled by tsc. Eliminates all
TS6059/TS6307 rootDir errors.
2. Use conditional spread to filter undefined values before passing to
renderAsync/renderDirect/tag — satisfies exactOptionalPropertyTypes.
3. Fix TS2304: schemaHash not in scope in template delete catch block,
use schemaInput instead.
Fixes#36
- Add trailing newline to all render output (#33)
- Fix render -p pipe mode to resolve hash values through renderAsync
with template support instead of renderDirect (#34)
- Always open varStore in render command (needed for pipe+hash path)
- Update test expectations for trailing newline
Fixes#33Fixes#34
- prepare-release.sh: delete consumed changesets from main after branching
- publish.sh: add --rc flag for prerelease (rc.N, auto-increment)
- publish.sh: auto-fix workspace:* and version in all packages
- publish.sh: auto-restore workspace:* on main after final release
- CLAUDE.md: document changeset-on-main, prerelease, and final release flows
- `ocas prompt usage` — outputs skill body (SKILL.md content without frontmatter)
- `ocas prompt setup` — outputs agent installation instructions
Prompt content is bundled with the CLI and versioned with it.